Spring Boot
Spring Boot — фреймворк с открытым исходным кодом для языка Java, используемый для создания автономных, готовых к промышленной эксплуатации приложений на базе Spring с помощью набора библиотек, упрощающих запуск и управление проектом[1]. Представляет собой расширение Spring Framework, использующее принцип «конфигурация по соглашению», чтобы минимизировать ручные настройки при создании приложений на базе Spring. При необходимости приложение можно доработать под конкретные задачи, однако стартовый проект Spring Boot предоставляет заранее настроенное окружение с наилучшей конфигурацией по мнению разработчиков как для самой платформы Spring, так и для ряда сторонних библиотек.
Spring Boot применяется для создания микросервисов, веб-приложений и консольных приложений[1].[2]
Общие сведения
| Spring Boot | |
|---|---|
| Тип | фреймворк для приложений |
| Автор | Род Джонсон |
| Разработчик | VMware |
| Написана на | Java |
| Первый выпуск | апрель 2014 |
| Последняя версия | 4.0.3 (19 февраля 2026) |
| Репозиторий | github.com/spring-projec… |
| Лицензия | Apache License 2.0 |
| Сайт | spring.io |
Возможности
- Встраиваемые веб-серверы: Tomcat, Jetty или Undertow[3].
- Предлагает наборы «стартовых» зависимостей POM для сборочных инструментов. Поддерживаются только Maven и Gradle[4].[5]
- Автоматическая настройка Spring-приложения[6].
- Продакшн-функциональность, включая метрики, проверки работоспособности и внешние конфигурации[7].
- Не требует генерации кода[3].
- Не требует конфигурации через XML[4].
- Опциональная поддержка Kotlin и Apache Groovy помимо Java[1].[8]
Загрузка DispatcherServlet
См. также: Spring Framework#Конфигурация DispatcherServlet
Spring Boot не требует ручной настройки DispatcherServlet, поскольку приложение автоматически конфигурируется на основе найденных параметров[9].
Конфигурационные свойства
Автонастройка
@SpringBootApplication
Spring Boot предоставляет аннотацию @SpringBootApplication, которая позволяет автоконфигурировать сторонние библиотеки и автоматически обнаруживаемые функции на classpath[9]. Класс с аннотацией @SpringBootApplication может также расширять SpringBootServerInitializer, если приложение развёртывается как WAR-файл[9].
Аннотация @SpringBootApplication объединяет три специальные аннотации Spring: @SpringBootConfiguration, @EnableAutoConfiguration и @ComponentScan[10].
@SpringBootConfiguration
Аннотация @SpringBootConfiguration является специализацией аннотации @Configuration, используемой в Spring[10]. Класс, помеченный этой аннотацией, считается основным классом конфигурации для приложения Spring Boot[10].
@EnableAutoConfiguration
Аннотация @EnableAutoConfiguration включает механизм автоматической настройки Spring Boot[10].
Actuator
Модуль Spring Boot Actuator предоставляет средства мониторинга и управления приложением[11]. Он реализует ряд готовых к использованию возможностей для промышленной эксплуатации без необходимости самостоятельной разработки их реализации[11].
Если для сборки используется Maven, зависимость spring-boot-starter-actuator может быть указана в конфигурационном файле pom.xml[12].
Интеграция с модулями Spring Framework
Spring Boot поддерживает интеграцию со множеством модулей Spring Framework.
Spring Security
Фреймворк поддерживает интеграцию с модулем Spring Security. Проще всего добавить интеграцию с помощью соответствующей стартовой зависимости в файле сборки[13]. Для Maven это зависит от объявления зависимости с идентификатором spring-boot-starter-security в pom.xml[13].
Серверы приложений
По умолчанию Spring Boot предоставляет встроенные веб-серверы (например, Tomcat)[14]. Также приложения могут развёртываться как WAR-файлы на независимых серверах приложений, например WildFly[15]. Для сборки с помощью Maven существует плагин wildfly-maven-plugin для автоматического деплоя собранного WAR-файла[15].
Примечания
- ↑ 1 2 3 Spring Boot Tutorial — Learn Spring Boot (англ.). GeeksforGeeks (8 мая 2023). Дата обращения: 5 апреля 2024. Архивировано 10 апреля 2025 года.
- ↑ Spring Boot Console Application. Baeldung (8 января 2024). Дата обращения: 20 сентября 2024. Архивировано 20 января 2024 года.
- ↑ 1 2 Walls, Craig. Spring Boot in Action. — Manning Publications, 2016-01-03. — ISBN 978-1-61729-254-5.
- ↑ 1 2 Walls, Craig. Spring Boot in Action. — Manning Publications, 2016-01-03. — ISBN 978-1-61729-254-5.
- ↑ Musib, Somnath. Spring Boot in Practice. — Simon and Schuster, 2022-07-12. — ISBN 978-1-61729-881-3.
- ↑ Walls, Craig. Spring Boot in Action. — Manning Publications, 2016-01-03. — ISBN 978-1-61729-254-5.
- ↑ Walls, Craig. Spring Boot in Action. — Manning Publications, 2016-01-03. — ISBN 978-1-61729-254-5.
- ↑ Language Support. Spring Framework. Архивировано 16 сентября 2025 года.
- ↑ 1 2 3 4 5 6 7 Deinum, Marten. Pro Spring MVC with WebFlux / Marten Deinum, Iuliana Cosmina. — Apress, 2021. — ISBN 978-1-4842-5665-7.
- ↑ 1 2 3 4 Walls, Craig. Spring in Action. — Manning Publications, 2019. — ISBN 978-1-61729-494-5.
- ↑ 1 2 Musib, Somnath. Spring Boot in Practice. — Simon and Schuster, 2022-07-12. — ISBN 978-1-61729-881-3.
- ↑ Musib, Somnath. Spring Boot in Practice. — Simon and Schuster, 2022-07-12. — ISBN 978-1-61729-881-3.
- ↑ 1 2 Musib, Somnath. Spring Boot in Practice. — Simon and Schuster, 2022-07-12. — ISBN 978-1-61729-881-3.
- ↑ Musib, Somnath. Spring Boot in Practice. — Simon and Schuster, 2022-07-12. — ISBN 978-1-61729-881-3.
- ↑ 1 2 Musib, Somnath. Spring Boot in Practice. — Simon and Schuster, 2022-07-12. — ISBN 978-1-61729-881-3.