网站首页 > 文章精选 正文
今天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文档史诗级优化,更新颖漂亮,字体更加清晰,暗黑主题,代码折叠,代码剪切板都有了!
其它
其实还有其它一些细节改动和优化,基于篇幅就不多介绍了,有兴趣可以查看官方文档了解。
猜你喜欢
- 2025-06-13 SpringBoot权限炸场!动态鉴权提速10倍吊打RBAC(附工具源码)
- 2025-06-13 Spring Boot 3.4 新特性实战解析(springboot最新)
- 2025-06-13 SpringBoot 2.7.10、3.0.5 发布,修复 DoS漏洞
- 2025-06-13 springboot(二十八)stomp在spring5.3以上报跨域问题的处理
- 2025-06-13 还在为 Spring Boot3 动态配置发愁?一文教你轻松搞定!
- 2025-06-13 SpringBoot几种动态修改配置的方法
- 2025-06-13 快来看看SpringBoot2.2发行版,你能用到哪些新特性?
- 2025-06-13 Spring Boot3 应用打包成 Docker 镜像全攻略
- 2025-06-13 Spring Boot3 动态配置实现方案全解析,你掌握了吗?
- 2025-06-13 Spring Framework 6.2 和 Spring Boot 3.4 为 2025 年新一代做好准备
- 最近发表
-
- 面试中常被问到的Hash表,你了解吗
- JAVA面试考点:一文搞懂一致性Hash的原理和实现
- 一次性搞清楚equals和hashCode(hashcode() 与equals()区别,简单说明)
- HashMap.Key的故事:Key为什么出现Hash碰撞及冲突呢?
- hash冲突的几种解决方案对比(hash冲突的解决方式)
- 游戏王LN 无头骑士(无头骑士cv)
- Linux ln、unlink命令用法(linux link命令详解)
- n和l分不清矫正发音方法,这三步就够了
- golang引用私有gitlab项目代码(golang引入当前包下的文件)
- Instamic:录音领域中的 GoPro,让你想录就录,随心所欲
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)