最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

世界最新:总结SpringBoot1.x迁移到2.x需要注意的问题

来源:博客园

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接口来实现。

/** * SpringBoot中访问doc.html报404的解决办法 * @author james */@Configurationpublic 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中:

@Bean    public CacheManager cacheManager(RedisConnectionFactory factory) {        RedisCacheManager rcm = RedisCacheManager.builder(factory).build();        return rcm;    }

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

添加WebMvcConfiguration文件

@Configurationpublic 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/");    }

关键词: 添加自定义 新建文件夹 文件处理