总结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
*/
@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中:
@Bean
public CacheManager cacheManager(RedisConnectionFactory factory) {
RedisCacheManager rcm = RedisCacheManager.builder(factory).build();
return rcm;
}
SpringBoot2中访问doc.html报404的解决办法
添加WebMvcConfiguration文件
@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/");
}
相关文章
- 自动化如何减轻围绕云迁移的安全问题
- 结合S/4HANA和云迁移:企业如何受益
- 电脑上AppData数据迁移(解决C盘空间不足的问题)
- 入门迁移学习,跟着知乎大V王晋东的这个火热开源项目来学习(赠书)
- 图像风格迁移也有框架了:使用Python编写,与PyTorch完美兼容,外行也能用
- 记一次MongoDB性能问题(从MySQL迁移到MongoDB)
- MySQL数据库迁移:简单、快捷的工具使用(mysql数据库迁移工具)
- MySQL数据库迁移:探讨最佳实施方案(mysql数据库迁移方案)
- Oracle OCR升级之路:挑战与机遇(oracleocr迁移)
- Oracle 大表迁移:解决臃肿数据库问题(oracle大表迁移)
- 轻松搬家:使用Oracle迁移工具快速完成数据库迁移(oracle迁移工具)
- base从SQL Server迁移至Sybase:一段实践经验(sqlserver sy)
- 实施有效的Oracle数据库迁移方案(oracle数据库迁移方案)
- ASP将MySQL数据迁移到新环境(asp迁移mysql)
- 从Hive到Oracle的数据库迁移(hive-oracle)
- 基于关系型数据库的Redis迁移实践(关系型数据库转redis)
- Redis迁移复制实现数据永久保存(redis迁移复制)