本文主要研究一下Spring Boot 2.7, 3.x这几个版本的区别
Spring Boot 2.0在2018年2月28日发布,Spring Boot 2.7是2.x的最后一个发布版本,该版本的开源将于2023年11月停止支持,商业支持可延长到2025年2月
List<RequestMappingHandlerMapping>
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
以及META-INF/spring/org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration.imports
中声明,而且之前的逗号分隔改为换行分隔jakarta.*
替换掉了javax.*
,支持了Tomcat 10.1,Hibernate ORM 6.1。另外开始支持AOT编译以及后续发布的协程。yyyy-MM-dd HH:mm:ss.SSS
变更为yyyy-MM-dd’T’HH:mm:ss.SSSXXX
,可以使用logging.pattern.dateformat
属性进行更改Spring Boot 2.4版本变更了application.properties以及application.yaml的加载方式,可以通过设置spring.config.use-legacy-process
为true来恢复以前的行为,不过在3.0版本legacy的处理方式不再被支持
如果仅仅是简单的application.properties以及application.yaml,则该变化没有影响,影响到的是带profile的写法
具体见Spring Boot Config Data Migration Guide
Spring MVC提供了AntPathMatcher及PathPatternParser两种解析pattern的方式,在2.6版本默认使用PathPatternParser,通过spring.mvc.pathmatch.matching-strategy
可以去改变,后续推荐使用PathPatternParser,因为它的性能更好。
Spring Boot 3.0版本重命名或者移除了一些配置属性,可以通过spring-boot-properties-migrator来分析和兼容
Hoxton版本之后采用日期的命名方式
对应的是 Spring Cloud Hoxton 与 Spring Boot 2.2.x,最低支持 JDK 1.8
对应的是 Spring Cloud 2020 与 Spring Boot 2.4.x,最低支持 JDK 1.8
对应的是 Spring Cloud 2021 与 Spring Boot 2.6.x,最低支持 JDK 1.8
对应的是 Spring Cloud 2022 与 Spring Boot 3.0.x,最低支持 JDK 17
Spring Framework的主要大版本是6.x,要求JDK17,以之对应的Spring Boot的大版本是3.x,Spring Cloud的大版本是2022.x
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。