今天Spring Boot 2.5正式发布了,支持Java 16,增强了Docker镜像构建功能,而且提供了初始化数据源的新机制。
在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
中的配置。
现在Spring Boot内置的四种Web容器已经在不需要任何自定义的情况下,支持HTTP/2 over TCP。设置server.http2.enabled
为 true
,server.ssl.enabled
为false
即可生效。
现在Spring Boot也能打成war包装进Docker镜像了,而且支持分层构建。
如果你使用buildpacks构建镜像,你可以将其配置属性文件放到一个目录下或者tar.gz
文件中。卷(volume
)绑定现在也支持buildpacks构建器了。
现在Spring Boot支持OpenMetrics for Prometheus、Spring Data Repositories、WebFlux、MongoDB 、Quartz的度量指标监控。
以下依赖升级到新版本
Spring Boot 2.5已删除了Spring Boot 2.3中不推荐使用的代码。Spring Boot 2.4不推荐使用的代码目前保留,并计划在Spring Boot 2.6中将其删除。
❝不推荐使用的代码即
@Deprecated
标记的API。
Spring Boot文档史诗级优化,界面更新颖漂亮,字体更加清晰,暗黑主题,代码折叠,代码剪切板都有了!
其实还有其它一些细节改动和优化,基于篇幅就不多介绍了,有兴趣可以查看官方文档了解。