Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Создание проекта

Проект Spring Boot не пишут с нуля. Его заготовку собирает официальный генератор Spring Initializr на сайте start.spring.io. Вы выбираете версию, язык и нужные модули, а генератор отдаёт архив с готовым проектом.

Что выбрать на start.spring.io

ПолеЗначение для блога
ProjectMaven
LanguageJava
Spring Boot4.1.1 (последняя стабильная, без пометок SNAPSHOT и M)
Groupcom.example
Artifactblog
Package namecom.example.blog
PackagingJar
Java25

В разделе 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>.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.