「2022 年什么会火?什么该学?本文正在参与“聊聊 2022 技术趋势”征文活动 」
什么会火
要是 2022 年什么会火,作为行走多年职场的码农说,还是 Spring Boot 框架吧!
前几天,也就是 1月 20 日,Spring 官网发布了 Spring Boot 3.0.0,这也是 Spring Boot 3.0.0 第一个里程碑版本,即 M1 版本。
接下来,我们一起来看一下 Spring Boot 3.0.0 M1 版本发生了那些重点变化,了解这些变化对我们将来的学习一定有帮助。
Java 版本升级
相关 Java 版本的变化,在 Spring Boot 3 相关预告中就知道了,Spring Boot 3 将使用 Java 17 作为最低版本。
Spring Framework 版本升级
Spring Boot 3 版本不仅对 Java 版本升级有了要求,对 Spring Framework 版本也有相关变化,它将升级 Spring Framework 6。
Gradle 版本
使用 Gradle 构建的应用程序需要 Gradle 7.3 或更高版本。
Maven 版本
使用 Maven 构建的应用程序需要 3.5+ 或更高版本。
这个不是我瞎说的,官网也给出了明确的说明。
Spring Boot 3 弃用 Spring Boot
在原来 Spring Boot 2.X 中不推荐使用的类、方法及属性,将在 Spring Boot 3 版本将其移出,在使用 Spring Boot 3 版本之前,你需要考虑是否使用。
Jakarta EE 变迁
在 Spring Boot 依赖于 Jakarta EE 规范的地方,3.0 已升级到 Jakarta EE 9 中包含的版本。例如,Spring Boot 3.0 使用 Servlet 5.0 和 JPA 3.0 规范。
大部分 API 的引入会方式变化,比如原来 javax 将会替换的 Jakarta,这可能会存在兼容性问题。
就目前而言,一些依赖还没有很好的支持,毕竟 Spring Boot 3 刚刚发布,有不足不为其,这些也是暂时的,根据 Spring Boot 官方也能知道,等这些第三方库发布Jakarta兼容库之后,会对其进行重新引入,到时这些问题会得到很好的解决。
Jersey 暂时删除和### JSON-B 删除
Spring Boot 3 将对 Jersey 的支持已暂时删除,因为 Jersey 不支持 Spring Framework 6。Apache Johnzon 的依赖管理已被删除,取而代之的是 Eclipse Yasson。
删除依赖支持
下面相关的功能,在 Spring Boot 3 将会被移出。(大哥看着不顺眼的,直接干掉,这个就是大哥风范)
- Apache ActiveMQ
- Atomikos
- EhCache 2
- Hazelcast 3
依赖升级
Spring Boot 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
第三方库的依赖版本
Spring Boot 大哥不只是自己 Spring 项目要搞搞升级,连第三方库也要升级,比如 Tomcat,也是升级到 10,大哥,能不能放过我,我不想看这么多。
- 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 官网了解,Spring Boot。
那该如何学习 Spring Boot
根据我个人学习的经验:个人推荐视频+文档+文章方式 根据视频学习,可以快速入门,掌握;文档可以让你系统、全面的了解 Spring Boot,特别是官网文档,更加全面;文章是大佬们的一些总结和分享,虽有些文章观点不一,很正常。