Ответ
Spring Boot 2.x стал крупным обновлением с переходом на Spring Framework 5. Основные изменения и нововведения:
-
Поддержка Java 8+ и реактивного стека
- Минимальная версия Java — 8. Полная поддержка Java 9 и выше.
- Интеграция с Spring WebFlux для создания реактивных веб-приложений на основе Project Reactor (Flux, Mono).
@RestController public class ReactiveController { @GetMapping("/users") public Flux<User> getUsers() { return userRepository.findAll(); // Реактивный репозиторий } }
-
Новая система метрик и мониторинга с Micrometer
- Замена Dropwizard Metrics на Micrometer — vendor-agnostic фасад для метрик. Позволяет легко экспортировать данные в Prometheus, Datadog, InfluxDB и другие системы.
- Обновленные эндпоинты Actuator (
/actuator), поддержка Health Groups.
-
Обновления зависимостей
- Hibernate 5.2+ (поддержка JPA 2.2).
- Tomcat 8.5+ (поддержка Servlet 3.1+).
- Gradle 4+.
-
Улучшенная поддержка Kotlin
- Нативная поддержка null-safety, DSL для конфигурации, корутины.
-
Конфигурационные улучшения
- Новые свойства, такие как
spring.config.additional-locationиspring.config.importдля более гибкого управления конфигурацией. - Переработанная система автоконфигурации и стартеров.
- Новые свойства, такие как
-
Безопасность по умолчанию
- Для всех эндпоинтов Actuator, кроме
/healthи/info, по умолчанию включена аутентификация.
- Для всех эндпоинтов Actuator, кроме
-
Новые стартеры и поддержка технологий
- Стартеры для Apache Kafka Streams, поддержка реактивных драйверов для MongoDB и Cassandra.
Версия 2.x заложила основу для современного, реактивного и более наблюдаемого стека Spring.