前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >总结SpringBoot1.x迁移到2.x需要注意的问题

总结SpringBoot1.x迁移到2.x需要注意的问题

原创
作者头像
欢醉
发布2023-02-27 08:46:02
3650
发布2023-02-27 08:46:02
举报
文章被收录于专栏:james大数据架构

  SpringBoot1.x和SpringBoot2.x版本差异化还是比较大的,有些三方依赖组件有些是基于2.0版本为标准升级的,当我们将项目由1.0升级到2.0时会出现依赖的方法不存在或方法错误,需要逐个去调整,下面总结了我们升级实践过程中遇到的一些问题和网友总结的一些问题。

Data 模块也做了许多更新和提升

1) 2.x 默认使用 HikariCP 连接池; 2) 更加合理化的优化了数据库初始化逻辑; 3) spring.jdbc.template 自动配置现在可以通过 spring.jdbc.template 属性定制; 4) 提供了新配置 spring.jdbc.template 方便分页和排序; 5) 对数据库 spring.jdbc.template 自动化配置支持; 6) 可以高级定制 MongoDB 客户端; 7) 可以通过 spring.cache.redis.* 来配置 Redis 缓存默认值。

静态资源文件处理

切记,springboot2的静态资源必须手动设置路径映射才可以访问。

1.在 resources下面手动新建文件夹,楼主新建的文件夹名称为 static,当然也可以叫其他名字,比如 demo。然后把所有的静态资源文件放到 static 或者 demo 下。

2.java 代码配置,切记,在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定义拦截器,消息转换器等。SpringBoot 2.0 后,该类被标记为@Deprecated。因此我们只能靠实现WebMvcConfigurer接口来实现。

代码语言:javascript
复制
/**
 * SpringBoot中访问doc.html报404的解决办法
 * @author james
 */
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {

    /**
     * 资源处理器
     *
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
        registry.addResourceHandler("swagger-ui.html", "doc.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

Actuator加强

在 2.x 中,对执行器端点进行了许多改进,所有的 HTTP 执行端点现在都暴露在 /actuator路径下,并对 JSON 结果集也做了改善

Redis异常

Error:(28, 33) java: 对于RedisCacheManager(org.springframework.data.redis.core.RedisTemplate), 找不到合适的构造器

解决SpringBoot2.0中:

代码语言:javascript
复制
    @Bean
    public CacheManager cacheManager(RedisConnectionFactory factory) {
        RedisCacheManager rcm = RedisCacheManager.builder(factory).build();
        return rcm;
    }

SpringBoot2中访问doc.html报404的解决办法

添加WebMvcConfiguration文件

代码语言:javascript
复制
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {

    /**
     * 资源处理器
     *
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
      registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
        registry.addResourceHandler("swagger-ui.html", "doc.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");

    }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Data 模块也做了许多更新和提升
  • 静态资源文件处理
  • Actuator加强
  • Redis异常
  • SpringBoot2中访问doc.html报404的解决办法
相关产品与服务
云数据库 Redis®
腾讯云数据库 Redis®(TencentDB for Redis®)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档