今天Spring Boot 2.5正式发布了,支持Java 16,增强了Docker镜像构建功能,而且提供了初始化数据源的新机制。
基于Spring Boot 2.4的变动
Sql脚本初始化数据源
在Spring Boot 2.5中已经重新设计了用于支持schema.sql和data.sql编写脚本的基础方法。 spring.datasource.*中和数据源初始化相关的配置已经过时,会被spring.sql.init.*系列配置所代替,而且新的配置对R2DBC也适用。需要注意的是目前不支持分离许可证(separate credentials),目的是降低复杂度并同Flyway和Liquibase保持一致性兼容。当然你可以通过自行实现
org.springframework.jdbc.datasource.init.DataSourceInitializer
来扩展。
环境变量前缀
现在可以为系统环境变量
SystemEnvironmentPropertySource指定前缀,以便您可以在同一环境中运行多个不同的Spring Boot应用程序。使用
SpringApplication.setEnvironmentPrefix("PRIFIX")
例如:
SpringApplication?application?=?new?SpringApplication(MyApp.class);
application.setEnvironmentPrefix("myapp");
application.run(args);
当你需要针对特定的应用改变系统变量时,如OS,就可以声明为MYAPP_OS、MYAPP-OS或者MYAPP.OS。
?
注意不是application.yaml中的配置。
HTTP/2支持
现在Spring Boot内置的四种Web容器已经在不需要任何自定义的情况下,支持HTTP/2 over TCP。设置server.http2.enabled为 true,server.ssl.enabled为false即可生效。
Docker镜像
War分层镜像
现在Spring Boot也能打成war包装进Docker镜像了,而且支持分层构建。
buildpacks
如果你使用buildpacks构建镜像,你可以将其配置属性文件放到一个目录下或者tar.gz文件中。卷(volume )绑定现在也支持buildpacks构建器了。
度量指标
现在Spring Boot支持OpenMetrics for Prometheus、Spring Data Repositories、WebFlux、MongoDB 、Quartz的度量指标监控。
依赖升级
以下依赖升级到新版本
- Spring Data 2021.0
- Spring Integration 5.5
- Spring Security 5.5
- Spring Session 2021.0
- Spring HATEOAS 1.3
- Spring Kafka 2.7.0
过期依赖移除
Spring Boot 2.5中已删除了Spring Boot 2.3中不推荐使用的代码。Spring Boot 2.4中不推荐使用的代码目前保留,并计划在Spring Boot 2.6中将其删除。
?
不推荐使用的代码即@Deprecated标记的API。
文档优化
Spring Boot文档史诗级优化,更新颖漂亮,字体更加清晰,暗黑主题,代码折叠,代码剪切板都有了!
其它
其实还有其它一些细节改动和优化,基于篇幅就不多介绍了,有兴趣可以查看官方文档了解。
本文暂时没有评论,来添加一个吧(●'◡'●)