Создание проекта
Проект Spring Boot не пишут с нуля. Его заготовку собирает официальный генератор Spring Initializr на сайте start.spring.io. Вы выбираете версию, язык и нужные модули, а генератор отдаёт архив с готовым проектом.
Что выбрать на start.spring.io
| Поле | Значение для блога |
|---|---|
| Project | Maven |
| Language | Java |
| Spring Boot | 4.1.1 (последняя стабильная, без пометок SNAPSHOT и M) |
| Group | com.example |
| Artifact | blog |
| Package name | com.example.blog |
| Packaging | Jar |
| Java | 25 |
В разделе Dependencies нажмите Add dependencies и добавьте Spring Web. Остальные модули мы подключим позже, по одному. Кнопка Generate скачает архив blog.zip — распакуйте его и откройте папку в IntelliJ IDEA, VS Code или другом редакторе.
То же из терминала
У генератора есть адрес для скачивания, поэтому проект можно создать одной командой:
curl -o blog.zip "https://start.spring.io/starter.zip?type=maven-project&language=java&bootVersion=4.1.1&groupId=com.example&artifactId=blog&packageName=com.example.blog&javaVersion=25&dependencies=web"Получится тот же архив, что и с сайта. Распакуйте его командой tar -xf blog.zip (Windows 10+, macOS, Linux).
Что внутри
blog/
├── .mvn/wrapper/maven-wrapper.properties
├── mvnw
├── mvnw.cmd
├── pom.xml
├── HELP.md
└── src/
├── main/
│ ├── java/com/example/blog/BlogApplication.java
│ └── resources/application.properties
└── test/
└── java/com/example/blog/BlogApplicationTests.java| Файл | Зачем нужен |
|---|---|
pom.xml | Описание проекта для Maven: версия Spring Boot, зависимости, плагины |
mvnw, mvnw.cmd, .mvn/ | Maven Wrapper: скачивает нужную версию Maven сам, устанавливать Maven не нужно |
BlogApplication.java | Точка входа — класс с методом main |
application.properties | Настройки приложения |
BlogApplicationTests.java | Первый тест: проверяет, что приложение запускается |
HELP.md | Ссылки на документацию по выбранным модулям |
Главный класс
// src/main/java/com/example/blog/BlogApplication.java
package com.example.blog;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class BlogApplication {
public static void main(String[] args) {
SpringApplication.run(BlogApplication.class, args);
}
}Аннотация @SpringBootApplication включает автоконфигурацию и поиск ваших классов в пакете com.example.blog и его подпакетах. SpringApplication.run запускает Spring и встроенный веб-сервер.
Файл настроек
Генератор кладёт в application.properties одну строку:
# src/main/resources/application.properties
spring.application.name=blogЭто имя приложения — оно появится в каждой строке журнала. Остальные настройки мы будем добавлять по мере надобности.
Частая ошибка
В поле Spring Boot по умолчанию может стоять версия с пометкой SNAPSHOT или M2 — это сборки в разработке, они меняются и могут не скачаться из Maven Central. Выбирайте версию без пометок. Если проект уже создан, проверьте версию в pom.xml в блоке <parent>.