在2020年5月15日,Spring Boot 团队宣布 Spring Boot 2.3.0 发布了。
第一个要聊到的是发布规则的更改。
Spring Boot 通常是每 12 个月发布升级,但是现在 2.3.0 为什么提前了 6 个月。
这是因为从 Spring Boot 2.3 开始,其发布将根据日期进行,也就是说每 6 个月我们将会得到一个新版本。
这里的好处是每一个发布版本的修改会显得更轻量,升级起来会更平滑些。
另外,除了 Spring Boot,Spring Data 也准备把发布周期改为 6 个月。
但是其他的项目目前还没有消息说会一样,也就是会继续使用基于功能的发布周期。
比如 Spring Framework,将会继续在新功能准备好了的时候才发布新的版本。
回到 Spring Boot 2.3,其中有不少值得关注的更新。
Spring Data 升级到了 Spring Data Neumann,这导致了一系列数据库驱动程序的更新,比如:Cassandra Driver (4.6)现在是第四版了,Couchbase Driver(3.0)现在是第三版了,MongoDB(4.0)现在是第四版了。
除了 Spring Data 升级到了 Neumann 外,还有:
- Spring HATEOAS 升级到了 1.1
- Spring Integration 升级到了 5.3
- Spring Kafka 升到了 2.5
- Spring Security 升到了 5.3
- Spring Session Dragonfruit 升级到了 Dragonfruit
至于第三方的依赖,值得关注的是除了上面提到的 Cassandra Driver (4.6),Couchbase Driver(3.0),MongoDB(4.0)外,还有:
- Elasticsearch 升级到了 7.6(现在默认都是7.5+了)
- Kafka 升级到了 2.5
- Micrometer 升级到了 1.5
- JUnit Jupiter 升级到了 5.6
Spring Boot 2.3 添加了 Java 14 的支持,当然 Java 8 和 Java 11 也是继续支持的。
还有一个主要的更新是支持通过 Cloud Native Buildpacks 构建 Docker 镜像:
- 如果是使用 Maven,则通过 Maven 的插件 spring-boot:build-image 来构建。
- 如果是使用 Gradle,则通过 bootBuildImage task 来构建。
另外,插件还支持构建分层的 Jar 来更高效地构建 Docker 镜像。
这说明我们可以把 Spring Boot 项目直接打包成 Docker 进行发布啦。
更多详细的内容可以查看官方的更新日志:Spring-Boot-2.3-Release-Notes
2020.08.24