Springboot 3.x 版本

最近在做一个新的项目,使用的JDK 17 版本,所对应的Spring Boot 版本是3.x,具体是Spring Boot 3.3.4; 以往的一个项目使用的Spring Boot 版本是2.7.1 (Spring Boot 2.x 系列)。然而,在写一个Filter时,发现javax.servlet.ServletRequest 要替换成 jakarta.servlet.ServletRequest,等等,看起来是要javax包要替换成jakarta包,所以查下资料比较两者是否有啥区别。

1. Spring Boot 2.7.1(Spring Boot 2.x 系列)

  • Spring Framework 5.x:Spring Boot 2.x 使用的是 Spring Framework 5.x 版本,支持 Java 8、Java 9、Java 10、Java 11 等版本。
  • Java EE (javax.servlet):Spring Boot 2.x 系列依赖于 Java EE(也称为 Jakarta EE 8 之前的版本)。因此,所有相关的 Servlet API、JSP、JAX-RS 等类和接口都属于 javax.servlet 包。
  • Servlet API:使用的默认 Servlet API 版本是 Servlet 4.0(属于 Java EE 8)。
  • 依赖版本:
    Spring Framework: 5.x(Spring 5.3.x)
    Spring Security: 5.x
    Spring Data: 2.x
    Spring Boot Starter Web: spring-boot-starter-web 依赖于 Tomcat 9.x(默认),可以切换到 Jetty 或 Undertow。
  • 包名:使用 javax.servlet 包和 Java EE 相关的 API。

2. Spring Boot 3.3.4(Spring Boot 3.x 系列)

  • Spring Framework 6.x:Spring Boot 3.x 使用的是 Spring Framework 6.x 版本,要求 JDK 17 或更高版本。Spring Boot 3.3.4 支持 Java 17 及更高版本,因此不再支持 Java 8、9、10。
  • Jakarta EE 9+(jakarta.servlet):Spring Boot 3.x 完全迁移到了 Jakarta EE 9+,因此所有的相关 API 都已经迁移到 jakarta.servlet 包中,替代了原来的 javax.servlet 包。例如,Servlet API 和 JAX-RS 等相关 API 的命名空间都变成了 jakarta.servlet。
  • Servlet API:Spring Boot 3.x 默认使用 Servlet 5.0(属于 Jakarta EE 9)。
  • 依赖版本:
    Spring Framework: 6.x(Spring 6.0.x)
    Spring Security: 6.x
    Spring Data: 3.x
    Spring Boot Starter Web: spring-boot-starter-web 依赖于 Tomcat 10.x(默认), 也支持 Jetty 或 Undertow。
  • 包名:使用 jakarta.servlet 包和 Jakarta EE 相关的 API(例如,jakarta.servlet.ServletRequest)。

3. 小结

特性Spring Boot 2.7.1Spring Boot 3.3.4
支持的 Java 版本Java 8、Java 9、Java 10、Java 11Java 17 及更高版本
Spring Framework 版本Spring 5.xSpring 6.x
Servlet APIjavax.servlet(Servlet 4.0)jakarta.servlet(Servlet 5.0)
默认内嵌容器Tomcat 9.xTomcat 10.x
包名javax.servletjakarta.servlet
Jakarta EE 版本使用 Java EE 8(javax.servlet)使用 Jakarta EE 9(jakarta.servlet)

Spring Boot 2.7.1 适用于较旧的 Java EE(javax.servlet)环境,支持 JDK 8 及以上版本,并且默认使用 Servlet 4.0(Java EE 8)。

Spring Boot 3.3.4 适用于最新的 Jakarta EE(jakarta.servlet)环境,要求至少 JDK 17,并且使用 Servlet 5.0(Jakarta EE 9)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值