当前位置:   article > 正文

springboot2.x升级到3.x注意事项汇总_springboot2升级到3

springboot2升级到3

随着Spring Framework URL解析不当漏洞(CVE-2024-22243)的发布,springboot升级到3.x迫在眉睫,2.x的版本官方并未提供该漏洞的修复版本,后续应该也不会再发布新的版本。

2.x升级到3.x是一次大的跨越,接下来,本人结合实践经验,浅淡一下需要注重的地方。

一、JDK变化

Spring Boot 3.0.0 需要 Java 17,下载地址Java Archive Downloads - Java SE 17,根据自己的系统版本选择下载即可

二、配置变化

1、Redis配置变化

Redis配置对比2.x版本,在spring下多了一个data层级,如下所示:

2、日志配置变化

日志配置主要是日志的大小和保存历史等配置项和2.x版本不同,3.x版本增加了logback节点,如下所示:

三、代码变化

1mysql的依赖需要手动指定版本

如下如所示,手动指定适合你的版本即可

2、javax.servlet包替换为jakarta.servlet

涉及的类包括ServletRequest、HttpServletRequest、ServletResponse、HttpServletResponse等,如下图所示:

3、javax.validation包替换为jakarta.validation

涉及的注解包括@Valid、@NotNUll、@NotBlank、@NotEmpty等。

4、允许跨域设置由addAllowedOrigin替换为addAllowedOriginPattern

  1. import org.springframework.context.annotation.Bean;
  2. import org.springframework.context.annotation.Configuration;
  3. import org.springframework.web.cors.CorsConfiguration;
  4. import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
  5. import org.springframework.web.filter.CorsFilter;
  6. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  7. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  8. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  9. /**
  10. * 配置注册
  11. *
  12. * @author ldy
  13. * @date 2024/03/06
  14. * @since V1.0.1
  15. */
  16. @Configuration
  17. public class WebConfig implements WebMvcConfigurer {
  18. @Override
  19. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  20. registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
  21. }
  22. private CorsConfiguration buildConfig() {
  23. CorsConfiguration corsConfiguration = new CorsConfiguration();
  24. //corsConfiguration.addAllowedOrigin("*");
  25. corsConfiguration.addAllowedOriginPattern("*");
  26. corsConfiguration.setAllowCredentials(true);
  27. corsConfiguration.addAllowedHeader("*");
  28. corsConfiguration.addAllowedMethod("*");
  29. return corsConfiguration;
  30. }
  31. @Bean
  32. public CorsFilter corsFilter() {
  33. UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
  34. source.registerCorsConfiguration("/**", buildConfig());
  35. return new CorsFilter(source);
  36. }
  37. }

四、swagger2升级到swagger3

springboot3.x集成SpringDoc Swagger3-CSDN博客文章浏览阅读71次。swagger3未授权访问的路径主要包括和。本人提供的解决方案就是通过过滤器的方式对请求进行验证,请求的时候需要在链接后面加上我们自定义的token参数,通过验证token判断是否是合法的访问,注意,添加过滤器后需要在启动类上加上。https://blog.csdn.net/LDY1016/article/details/136502829

五、集成nacos踩坑

springboot3.x集成nacos踩坑,并实现多环境配置-CSDN博客springboot3.x集成Nacos首先需要将Nacos从1.x升级到2.x,建议直接安装2.x版本,手动将1.x的配置信息迁移到2.x中,先并行一段时间,待全部迁移完成稳定运行之后再停掉1.x,升级和安装、操作请查看官方文档。完成前面的工作之后,正常情况下nacos的集成就算成功了,但是,并没有想象的那么顺利,我们启动项目,意外发生了,控制台报错,项目启动失败!对应的是 Spring Boot 3.x 版本,版本。对应的是 Spring Boot 2.x 版本,版本。https://blog.csdn.net/LDY1016/article/details/136502907

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

闽ICP备14008679号