本月(2019年10月16日)Spring Boot 2.2已经正式发布了!在此篇文章中,将给大家介绍一下2.2版为大家带来了哪些重要的新变化。笔者用心书写, 希望阅读完成之后转发关注,你的支持是我不竭的创作动力!
Spring Boot 2.2引入的一项新功能是 全局延迟bean初始化 的支持(默认情况下,此功能处于禁用状态)。那么如果启用全局延迟bean初始化时会如何?
为了减少应用程序的初始化过程和启动时间,您现在可以使用以下的属性配置启用全局延迟初始化Spring bean:
spring.main.lazy.initialization=true 复制代码
但是全局延迟初始化的缺点是显而易见的,在进行任何延迟的初始化时,HTTP请求的第一次处理可能需要更长的时间。后续请求不受影响。所以应该谨慎使用。如果您不想在全局范围内使用延迟初始化Spring Bean,则可以考虑使用@Lazy注释为特定bean配置延迟初始化。
从Spring Boot 2.2开始,默认情况下禁用JMX。这有助于缩短应用程序的启动时间,并且不会在运行时浪费大量资源。如果您依赖JMX,则可以再次启用它:
spring.jmx.enabled=true 复制代码
Spring Boot将为每个@ConfigurationProperties通过类路径扫描发现的配置类创建一个Bean。在之前版本的开发过程中,如果我们希望配置类被初始化为一个bean ,则需要在配置类上使用@Component注解使其成为bean。现在不需要了,只需要一个@ConfigurationProperties注解。
注意:如果两个注解都用,被注解的类可能会创建两个bean,所以请把@Component注解移除掉。不要两个一起用。
Java 13于2019年9月17日正式发布了。
Spring Framework 5.2和Spring Boot 2.2也支持Java13。LTS Java版本8和11将与Spring Boot 2.2保持兼容。