Springboot各版本特性
以下供技术升级所使⽤。建议使⽤2.3.x或2.4.x。
⼀、Spring boot各版本特性
2.2.X
性能提升
默认禁⽤JMX: 缩短应⽤启动时间,减少资源浪费。
延迟初始化:通过spring.main.lazy-initialization属性启⽤全局延迟初始化,以减少启动时间
禁⽤其他JPA扫描改善了启动性能:SpringBoot已提供了⾃⼰的JPA扫描。
⼤型配置⽂件绑定更快
更⾼效的bean创建和注⼊
⽀持Java 13
被@ConfigurationProperties注解的类被初始化为bean
RSocket⽀持
⽀持Gradle 6
⽀持第三⽅类上的构造器参数绑定
依赖变化:
所有JavaEE依赖项⽤等效的Jakarta EE依赖替换。
Spring Framework 5.2
JUnit 5
其它依赖包升级
配置更改:如
logging.file属性已重命名为logging.file.name
logging.path属性已重命名为logging.file.path
2.3.X
优雅停机:在关闭时,服务器将不再允许新的请求,并将等待完成的请求给个宽限期让它完成,可以通过spring.lifecycle.timeout-per-shutdown-phase=xxx来配置,默认为30s, 默认情况下,没有开启,通过添加server.shutdown=graceful配置开启。
配置属性的调整:可通过spring-boot-properties-migrator依赖打印替换⽇志
删除不推荐使⽤的类/⽅法/属性
配置⽂件位置⽀持通配符:如/config/*/,只⽀持jar包外
web下的⽇期转换⽀持配置:
spring.mvc.format.date
spring.mvc.format.date-time
spring.mvc.format.time
spring.webflux.format.date
spring.webflux.format.date-time
spring.webflux.format.time
依赖升级
核⼼依赖升级:
第三⽅类库升级:
⽀持Java 14
嵌⼊式Servlet Web Server线程配置:hreads.max
WebFlux基础路径配置:⽀持spring.webflux.base-path=xx
服务可⽤性探针:management.abled=true
Actuator增强:
docker容器⽀持:
⽀持Cloud Native Buildpacks构建镜像
maven 插件 增加 spring-boot:build-image 、gradle增加bootBuildImage task 帮助快速构建镜像
⽀持jar 分层,更好的优化打包镜像过程
2.4.X
版本命名更改:去除了RELEASE后缀
⽀持Java 15
Junit 5移除了Vintage Engine
配置数据导⼊:通过fig.location和fig.import明确指定配置位置,如果不存在,则不会静默失败,如果想忽略不存在,则在前⾯加optional,如:fig.location=optional:/etc/config/application.properties,如果想把所有位置都当作optional,可以设置-not-found=ignore
嵌⼊数据库改进:只有在内存中才认为数据库是嵌⼊式的。
不再注册servlet容器提供的DefaultServlet
HTTP traces不再包含Cookie请求头和Set-Cookie响应头
构建jar⾃动优化,⾃动删除空的starter
全新的cron定时任务⽀持:@yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly
依赖升级:
Spring Framework 5.3
Spring Kafka 2.6
第三⽅依赖升级spring mvc和boot区别
Undertow 2.2
Lettuce 6.0
JUnit 5.7
Docker⽀持升级:
镜像发布:Spring Boot Maven 插件的 spring-boot:build-image 指令和 Gradle 插件的 bootBuildImage 任务现在可以直接发布Docker 镜像到 Docker 注册中⼼了
授权机制:使⽤私有授权的 Docker 私有注册中⼼,⽀持⽤户名/密码认证以及基于 Token 机制认证。
默认⽀持分层jar,减少容器镜像构建
2.5.X
运⾏端点变更
/info不再对外公开
优雅关机⽀持GET请求
记录停机⽇志
增加Quartz的Actuator Endpoint: /actuator/quartz
增强容器化功能
war包⽀持分层
buildpack⽀持配置⾃定义
Environment前缀:以便在同⼀环境运⾏多个不同的应⽤,使⽤SpringApplication.setEnvironmentPrefix(…)设置绑定属性时要使⽤的前缀。
Metrics增强
HTTP/2 over TCP(h2c): 只需将abled设置为 true并将 abled设置为false(默认 false)。微服务全栈 h2c 还需要打通 feign 和 RestTemplate 这种 http 客户端
数据源相关增强:
⼆、细节
优雅停机
其⽣效,但其触发后,不再接收新请求,在使⽤slb时⽐较⽅便,但使⽤eureka时,该⽅式仍然不够优
雅,因为其它服务仍然能看到该服务,但该服务⼜不可⽤。
其只解决了当前请求完整性
版本⽀持时间
2.4.x: ⽀持的版本。2020.11发布,⽀持到2022.08
2.3.x: ⽀持的版本。2020.05发布,⽀持到2022.02
2.2.x:⽀持的版本。2019.10发布,⽀持到2021.07
2.1.x:⽣命已终⽌的版本。2018.10发布,于到2020.10⽉停⽌维护
2.0.x:⽣命已终⽌的版本。2018.3发布,2019.4停⽌维护
1.5.x:⽣命已终⽌的版本。2017.1发布,是最后⼀个1.x分⽀,2019.8.1停⽌维护

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。