今天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文档史诗级优化,界面更新颖漂亮,字体更加清晰,暗黑主题,代码折叠,代码剪切板都有了!
其它
其实还有其它一些细节改动和优化,基于篇幅就不多介绍了,有兴趣可以查看官方文档了解。
有道无术,术可成;有术无道,止于术
欢迎大家关注Java之道公众号
好文章,我在看❤️