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

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

作者头像
欢醉
发布于 2023-03-01 06:03:23
发布于 2023-03-01 06:03:23
54200
代码可运行
举报
文章被收录于专栏:james大数据架构james大数据架构
运行总次数:0
代码可运行

  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
代码运行次数:0
运行
AI代码解释
复制
/**
 * 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
代码运行次数:0
运行
AI代码解释
复制
    @Bean
    public CacheManager cacheManager(RedisConnectionFactory factory) {
        RedisCacheManager rcm = RedisCacheManager.builder(factory).build();
        return rcm;
    }

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

添加WebMvcConfiguration文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@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/");

    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
springboot集成swagger2出现404解决方案汇总
3、SpringApplication.run(xxx.class, args)。
有一只柴犬
2024/01/25
2.7K0
springboot集成swagger2出现404解决方案汇总
SpringBoot教程(十六) | SpringBoot集成swagger(全网最全)
swagger是当下比较流行的实时接口文文档生成工具。接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发结束后在进行联调测试。
一缕82年的清风
2022/04/08
2.3K0
SpringBoot教程(十六) | SpringBoot集成swagger(全网最全)
SpringBoot教程(十九) | SpringBoot集成knife4j
首先介绍一下Knife4j. 就是一款接口文档框架,跟swagger类似。 但是整合了很多swagger的功能,页面比swagger美观。现在大有取代swagger之势
一缕82年的清风
2024/05/26
5320
【常见BUG】Spring Boot 和 Springfox(Swagger)版本兼容问题
根据提供的错误信息和搜索结果,这个问题通常与 Spring Boot 和 Springfox(Swagger)的集成有关。错误提示Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException表明在 Spring Boot 应用启动过程中,documentationPluginsBootstrapper这个 bean 无法正常启动,原因是遇到了空指针异常(NullPointerException)。这通常是由于 Spring Boot 和 Springfox 的版本不兼容导致的路径匹配策略冲突。
kwan的解忧杂货铺
2024/12/17
2110
从SpringBoot源码看资源映射原理
很多的小伙伴刚刚接触SpringBoot的时候,可能会遇到加载不到静态资源的情况。
HUC思梦
2022/05/11
4960
从SpringBoot源码看资源映射原理
写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下! GitHub地址:https://github.com/abel-max/Java-Study-Note/tree/master
用户5546570
2020/09/28
7780
Spring Boot 整合 Swagger 接口文档工具
我们在开发接口的时候,会将接口文档给前端的开发者进行对接。我们可以通过 Postman 或者 Yapi 等接口管理工具进行编写管理。实际开发中,接口的管理确实也应该通过专业的工具管理。
Jimmy_is_jimmy
2023/08/09
2480
Spring Boot 整合 Swagger 接口文档工具
8.8 Spring Boot静态资源处理小结
当使用Spring Boot来开发一个完整的系统时,我们往往需要用到前端页面,这就不可或缺地需要访问到静态资源,比如图片、css、js等文件。
一个会写诗的程序员
2018/08/20
1K0
API管理-舍弃springfox-swagger-ui,采用功能更加丰富的swagger-bootstrap-ui
上一篇博客(API管理-基于SpringBoot项目集成swagger实现接口文档自动生成)中我已经提到过使用springfox-swagger-ui的部分问题,上下结构的接口层次不利于接口的查看、无法支持离线下载成pdf或word或html等,而swagger-bootstrap-ui的出现把这些问题都解决了并且还扩展了部分实用新功能,比如:新增接口页面权限功能..
秋日芒草
2019/06/24
2K0
API管理-舍弃springfox-swagger-ui,采用功能更加丰富的swagger-bootstrap-ui
SpringBoot——Web开发(静态资源映射)
SpringBoot对于SpringMVC的自动化配置都在WebMVCAutoConfiguration类中。
Noneplus
2019/09/24
5370
SpringBoot——Web开发(静态资源映射)
【WEB系列】高版本SpringBoot整合Swagger启动异常问题
前言: Spring Boot 2.6.x 版本引入依赖 springfox-boot-starter (Swagger 3.0) 后,启动项目会报错: Failed to start bean ‘ documentationPluginsBootstrapper ‘ ; nested exception… 异常信息: Error starting ApplicationContext. To display the conditions report re-run your application wit
框架师
2022/05/14
2.7K0
【WEB系列】高版本SpringBoot整合Swagger启动异常问题
Swagger-Springboot-mybatis-mysql
此项目是我闲着的时候,整理出来的。因为我主要是做后端的,接口可能测试比较麻烦,所以就想起来了使用Swagger来管理API,然后还起到了测试的作用,还省得费劲去整理API文档了。一举两得,灰常的完美鸭!
手撕代码八百里
2020/07/28
6730
Swagger-Springboot-mybatis-mysql
springboot 之集成Swagger2
一直没机会做spring生态圈的框架,公司选择的是一些小众的微服务,鉴于此考虑,丰富自己的技术栈,花了两天时间从网上各网站上学习了springboot一些基础知识。 本章只介绍springboot微服务集成swagger2,用于后端工程师开发过程中调试接口。
felixxue
2022/12/30
3140
springboot 之集成Swagger2
生成环境禁用swagger常用方式
然后在测试配置或者开发配置中添加swagger2.enable = true 即可开启,生产环境不填则默认关闭Swagger。
BUG弄潮儿
2020/06/12
2.1K0
springboot+mybatsi-plus+lombok+swagger-bootstra整合
官方地址:https://spring.io/projects/spring-boot/
斯文的程序
2019/12/20
7710
springboot+mybatsi-plus+lombok+swagger-bootstra整合
API管理-基于SpringBoot项目集成swagger实现接口文档自动生成
上一次博客(API管理-使用开源xxl-api项目管理接口)中我也提到过接口文档在整个生命周期中的重要性以及使用开源xxl-api的优缺点,缺点就是没法自动完成接口文档的生成,而是手动的录入,这样的话跟我们传统的通过编写word来管理接口文档也没什么区别;而swagger却是通过开发者在编写接口的时候就已经通过指定的注解标注好接口的信息,在启动的时候swagger会自动生成对应的接口文档。
秋日芒草
2019/06/24
1.4K0
API管理-基于SpringBoot项目集成swagger实现接口文档自动生成
SpringBoot对静态资源的映射规则
==1)、所有 /webjars/** ,都去 classpath:/META-INF/resources/webjars/ 找资源;==
程序员阿杜
2021/03/15
8650
SpringBoot对静态资源的映射规则
Spring Boot 静态资源处理
摘要:spring Boot 默认的处理方式就已经足够了,默认情况下Spring Boot 使用WebMvcAutoConfiguration中配置的各种属性。 但是如果你想要自己配置一些项目的设置,你可以在@Configuration注解的配置类上增加@EnableWebMvc或者继承WebMvcConfigurationSupport和WebMvcConfigurationAdapter 正文: 首先解析@EnableWebMvc 、WebMvcConfigurationSupport和WebMvcC
itliusir
2018/05/21
1.6K0
Spring Boot引入swagger-ui 后swagger-ui.html无法访问404
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,后端集成下Swagger,然后就可以提供一个在线文档地址给前端同学。
JadePeng
2020/08/25
8.3K0
拦截器配置后swagger无法访问的处理
想让项目中所有请求都必须携带权限认证信息才能请求,所以给项目配置了拦截器,配置完拦截器之后发现swagger地址访问不了了,没有加之前是可以正常访问的。
在水一方
2023/02/23
2.2K0
拦截器配置后swagger无法访问的处理
推荐阅读
相关推荐
springboot集成swagger2出现404解决方案汇总
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验