当前位置:   article > 正文

SpringBoot2升级SpringBoot3注意事项_spring 2.0 升级到3.0需要注意工程要改造的点

spring 2.0 升级到3.0需要注意工程要改造的点

参考:Migrate Application From Spring Boot 2 to Spring Boot 3 | Baeldung

javax包的变化

新版 Jakarta EE 10 带来了 Spring Boot 3 相关依赖的更新:

  • Servlet 规范更新至 6.0 版
  • JPA 规范更新到 3.1 版

因此,如果我们通过从spring-boot-starter依赖项中排除它们来管理这些依赖项,我们应该确保更新它们。

让我们从更新 JPA 依赖项开始:

最新版本的jakarta.persistence-api可从 Maven Central 获得。

  1. <dependency>
  2. <groupId>jakarta.persistence</groupId>
  3. <artifactId>jakarta.persistence-api</artifactId>
  4. <version>3.1.0</version>
  5. </dependency>

接下来,让我们更新 Servlet 依赖项:

最新版本的jakarta.servlet-api可从 Maven Central 获得。

  1. <dependency>
  2. <groupId>jakarta.servlet</groupId>
  3. <artifactId>jakarta.servlet-api</artifactId>
  4. <version>6.0.0</version>
  5. </dependency>

除了依赖坐标的变化,Jakarta EE 现在使用“ jakarta ”包而不是“ javax ”因此,在我们更新依赖项之后,我们可能需要更新导入语句。

影响注解类,注意旧项目升级时,springboot的注解修改

javax.annotation.Resource  变为 jakarta.annotation.Resource 

javax.annotation.PostConstruct 变为  jakarta.annotation.PostConstruct

validation包的升级

  1. <dependency>
  2. <groupId>jakarta.validation</groupId>
  3. <artifactId>jakarta.validation-api</artifactId>
  4. </dependency>

javax.validation包 统一变为 jakarta.validation包

升级到SpringBoot3的tomcat部署注意事项

SpringBoot3部署tomcat时,要求tomcat版本:10.0及以上

原因:

1、SpringBoot升级后配置文件的变化

springboot3.0版本中,spring-web包下的,/META-INF/services/jakarta.servlet.ServletContainerInitializer

SpringBoot2的版本中spring-web包下的,/META-INF/services/javax.servlet.ServletContainerInitializer

 

2、tomcat版本需要升级到10.0及以上

tomcat10以下的版本,启动的时候,读取的文件是/META-INF/services/javax.servlet.ServletContainerInitializer

tomcat10及以上的版本,启动的时候,读取的文件是/META-INF/services/jakarta.servlet.ServletContainerInitializer

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/704218
推荐阅读
相关标签
  

闽ICP备14008679号