{{tag>[spring spring-boot module]}}
====== Spring Boot v2.2 ======
[[https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes]]
==== Summary ====
* Deprecations from Spring Boot 2.1
* **Spring Framework 5.2**
* JMX now disabled by default
* Fork enabled by default in Maven Plugin
* Jakarta EE dependencies
* **JUnit 5**
* AssertJ 3.12
* Devtools configuration no longer considered in integration tests
* Spring HATEOAS 1.0
* DataSize migration for logging.file size-based properties
* DataSource health
* Elasticsearch
* Hibernate Dialect
* Actuator HTTP Trace and Auditing are disabled by default
* Gradle requirements
* Jetty logging configuration
* Hamcrest 2.1
* Freemarker templates configuration
* Tomcat’s MBean Registry
* Logback max history
* HttpHiddenMethodFilter disabled by default
* Health Indicator', "Micrometer 'New Relic' eventType", 'Health Endpoint JSON
* DevTools config directory
* InMemoryUserDetailsManager
* Sample projects renamed and relocate
* jOOQ RecordListenerProvider
* **Java 13 support**
* Performance improvements
* Lazy initialization
* Spring Data Moore
* Shutdown configuration of task execution and scheduling
* Kubernetes detection
* Test Application Arguments in integration tests
* ''@ConfigurationProperties'' scanning
* Immutable ''@ConfigurationProperties'' binding
* RSocket Support
* ApplicationContextRunner simple bean registration
* RestTemplateBuilder request customisation
* Reactive Elasticsearch Auto-configuration
* Plain text support for Thread dump endpoint
* Configurable converters for Actuator endpoint input parameters
* Callback for Redis cache configuration
* Qualifier for Spring Batch datasource
* Build info repeatable output
* Health indicator for Hazelcast
* Idle JDBC connections metrics
* Health indicator groups
* Health Endpoint component details
* Auto-configuration for Flyway JavaMigrations
* Sanitization of URI Properties in Actuator Endpoints
* Banners
* SAML Auto-configuration
==== Descriptions ====
==== JUnit 5 ====
++++ JUnit 5 |
++++
++++ Lazy initialization |
It is now possible to enable global lazy initialization to reduce startup time via the spring.main.lazy-initialization property. Please note that using that feature comes at a cost:
Handling of HTTP requests may take longer while any deferred initialisation occurs
Failures that would normally occur at startup will now not occur until later
Individual beans can opt out of lazy initialization by annotating their definition with ''@Lazy(false)''. Where it is not possible to use ''@Lazy(false)'' to opt out of lazy initialization, a ''LazyInitializationExcludeFilter'' bean can be used instead. For example, to never set ''IntegrationFlow'' beans to lazy, you can use the following code:
@Bean
static LazyInitializationExcludeFilter integrationLazyInitExcludeFilter() {
return LazyInitializationExcludeFilter.forBeanTypes(IntegrationFlow.class);
}
++++
===== Dependencies =====
* Reactor Dysprosium
* Spring AMQP 2.2
* Spring Batch 4.2
* Spring Data Moore
* Spring Framework 5.2
* Spring HATEOAS 1.0
* Spring Integration 5.2
* Spring Kafka 2.3
* Spring Security 5.2
* Spring Session Corn
* Artemis 2.9
* Elasticsearch 6.7
* Flyway 6.0
* Git Commit ID Plugin 3.0
* Hazelcast 3.12
* HSQLDB 2.5
* Jackson 2.10
* Jedis 3.1
* Jersey 2.29
* Kafka 2.3
* Lettuce 5.2
* Micrometer 1.3
* Mockito 3.1
* Solr 8.0