欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > springboot2.x到spring3.x的一些变化和示例说明

springboot2.x到spring3.x的一些变化和示例说明

2024/10/24 17:32:18 来源:https://blog.csdn.net/yanxiaojia521/article/details/141033362  浏览:    关键词:springboot2.x到spring3.x的一些变化和示例说明

最近在做微服务版本升级工作,整理springboot2.x到spring3.x(spring5.x到spring6.x)的一些变化和示例说明。

1. Java 版本要求

  • Spring Boot 2.5.0:支持 Java 8 及以上版本。
  • Spring Boot 3.3.0:要求 Java 17 及以上版本,并且支持 Java 21。这意味着在升级过程中,首先需要确保 JDK 版本符合要求,并可能需要进行 JDK 的升级。

2. 底层依赖更新

  • Spring Boot 2.5.0:基于 Spring Framework 5.x 版本,并且使用 Java EE API。
  • Spring Boot 3.3.0:已经将所有底层依赖项从 Java EE 迁移到了 Jakarta EE API,基于 Jakarta EE 9 并尽可能地兼容 Jakarta EE 10。此外,Spring Boot 3.3.0 依赖于 Spring Framework 6.x 版本,这带来了许多新特性和改进。

3. 新特性和改进

  • 性能优化:Spring Boot 3.3.0 通过多种方式优化了性能,包括使用 CDS(类数据共享)功能来减少 Java 应用程序的启动时间和内存占用。此外,还添加了对 Java 21 中虚拟线程的支持,这种轻量级的线程实现可以显著提高高并发应用的吞吐量。
  • 安全性增强:新版本中增强了安全性,例如 Spring Security 添加了对 JwtAuthenticationConverter 的自动配置等。
  • 可观察性增强:Spring Boot 3.3.0 增强了应用的可观察性,支持 Micrometer 的新特性,并新增了对 Prometheus 1.x 的支持。
  • 配置文件增强:现在可以在 property 和 YAML 配置文件文件中将资源加载为 Base64 格式的值,这对于 SSL 证书等资源非常有用。
  • SBOMs 支持:Spring Boot 3.3.0 支持 SBOMs(软件材料清单),这有助于提高软件的透明度,并帮助开发人员、安全团队理解软件中包含的具体内容。

4. 废弃和移除的项

  • 在升级过程中,需要注意 Spring Boot 3.3.0 可能废弃或移除了旧版本中的一些特性和组件。因此,在升级前需要仔细查阅官方文档,了解哪些特性和组件已经不再支持或需要进行相应的替换。

示例说明(持续更新)

Jakarta EE 技术栈

// Spring 5.x
import javax.servlet.http.HttpServlet;public class MyServlet extends HttpServlet {// ...
}// Spring 6.x
import jakarta.servlet.http.HttpServlet;public class MyServlet extends HttpServlet {// ...
}

Spring Security

// Spring 5.x
@Configuration  
@EnableWebSecurity  
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {  @Override  protected void configure(HttpSecurity http) throws Exception {  http  .authorizeRequests()  .anyRequest().authenticated()  .and()  .formLogin()  .and()  .httpBasic();  }  
}// Spring 6.x
@Configuration  
public class SecurityConfiguration {  @Bean  public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {  http  .authorizeRequests()  .anyRequest().authenticated()  .and()  .formLogin()  .and()  .httpBasic();  return http.build();  }  
}

这些变化只是一些典型的情况,具体到你的项目中,你还需要根据项目的实际情况来调整。在进行迁移时,务必参考Spring官方发布的迁移指南来确保顺利过渡。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com