SpringBoot正式弃用Java8 Java17将成为未来主流版本

电子说

1.2w人已加入

描述

Java基线从 Java 8 提升到了 Java 17

从Java EE APIs 到 Jakarta EE

这个支持被移除

依赖升级

未来计划

参考资料

组件

2022年1月20日,Spring官方发布了Spring Boot 3.0.0的第一个里程碑版本M1

下面一起来来看看Spring Boot 3.0.0 M1版本都有哪些重大变化:

Java基线从 Java 8 提升到了 Java 17

这个在最早的Spring Boot 3相关预告中就已经知道了,Java 17将成为未来的主流版本。那么问题来了,大家都把Java 17的升级提上日程了吗?

从Java EE APIs 到 Jakarta EE

Spring Boot 3开始,所有的Java EE Api都需要迁移到Jakarta EE上来。

大部分用户需要修改import相关API的时候,要用jakarta替换javax。比如:原来引入javax.servlet.Filter的地方,需要替换为jakarta.servlet.Filter。

但还有一些依赖Java EE API的第三方库,目前还没有得到很好的支持,所以在Spring Boot 3中暂时会先移除这类组件的支持(比如:EhCache 3、Infinispan、Jolokia、Pooled JMS等)。

所以,目前的M1版本相较2.x 版本来说,会有一些特性的缺失。当然大多数应该还只是暂时的,Spring Boot官方会等这些第三方库发布Jakarta兼容库之后再重新引入。

这个支持被移除

下面这些功能的支持被移除了,相较上一个SNAPSHOT版本增加了Hazelcast 3

Apache ActiveMQ

Atomikos

EhCache 2

Hazelcast 3

依赖升级

相关Spring项目的依赖版本:

Micrometer 2.0.0-M1

Spring AMQP 3.0.0-M1

Spring Batch 5.0.0-M1

Spring Data 2022.0.0-M1

Spring Framework 6.0.0-M2

Spring Integration 6.0.0-M1

Spring HATEOAS 2.0.0-M1

Spring Kafka 3.0.0-M1

Spring LDAP 3.0.0-M1

Spring REST Docs 3.0.0-M1

Spring Security 6.0.0-M1

Spring Session 2022.0.0-M1

Spring Web Services 4.0.0-M1

第三方库的依赖版本:

Artemis 2.20.0

Hazelcast 5.0

Hibernate Validator 7.0

Jakarta Activation 2.0

Jakarta Annotation 2.0

Jakarta JMS 3.0

Jakarta JSON 2.0

Jakarta JSON Bind 3.0

Jakarta Mail 2.0

Jakarta Persistence 3.0

Jakarta Servlet 5.0

Jakarta Servlet JSP JSTL 2.0

Jakarta Transaction 2.0

Jakarta Validation 3.0

Jakarta WebSocket 2.0

Jakarta WS RS 3.0

Jakarta XML Bind 3.0

Jakarta XML Soap 2.0

Jetty 11

jOOQ 3.16

Tomcat 10

未来计划

后续Spring Boot团队将每两个月发布一个新的里程碑版本,所以M2版本预计将在3月24日发布,而GA版本将在11月下旬与大家见面。

参考资料

https://spring.io/blog/2022/01/20/spring-boot-3-0-0-m1-is-now-available

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分