升级springBoot 2.2-->2.6.10改动点
目录
6、PathVariable校验不通过默认返回500 =>修改为返回404错误
1、Gradle 4.x→7.4.1
1) 写法变更
complie 修改为 api
testcomplie 修改为 testImplementation
2)引入integrationTest 单测包
升级org.unbroken-dome.test-sets至4.0.0
3)修改Querydsl配置
增加配置:
|
4)修改apply plugin:java
|
2、springBoot升级包修改
1)springcloud 同步升级至2021.0.3版本2)指定flyway 版本为7.15.0 8版本开始不再支持mysql5.7版本
3)client中引入 包
|
4)移除spring-cloud-starter-netflix-ribbon引用 与spring-cloud-starter-loadbalancer冲突
5)hystrix已弃用 替换成spring官方推荐的 resilience4j 地址:https://github.com/resilience4j/resilience4j
5)指定commons-beanutils版本
6)指定commons-io版本
7)引入com.谷歌.guava:guava包(如果项目中有用到的话)
8)com.cosium.spring.data:spring-data-jpa-entity-graph版本升级至 2.6.1
9)querydsl-jpa版本升级至5.0.0
10)org.glassfish:javax.el版本升级至3.0.1-b12
11)commons-validator:commons-validator升级至1.7 老版本有安全漏洞
12)org.apache.commons:commons-collections4升级至4.4 老版本有安全漏洞
13)org.springframework.security.oauth:spring-security-oauth2 升级至2.5.2.RELEASE 老版本有安全漏洞
14) 使用PostConstruct注解需要增加引用
|
15)增加推荐缓存 caffeine引用
|
3、代码修改
1) FallbackFactory类 引用路径调整
2) @Email 注解类 引用路径调整
3)APPLICATION_JSON_UTF8_VALUE 被弃用 替换为APPLICATION_JSON_VALUE 新版会自动解析,不需要额外指定UTF-8字符集
4)@Nonnull注解修改为@NonNull
5)StringUtils 类需要修改为apache lang3包 spring中StringUtils中有多个方法过时
6)jodaTime在新版中已不再支持 换成JSR-310 增加jackson-jsr310包 在需要转换的Date类型字段增加@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate类型会自动转换
|
7)RequestMappingInfo原构造方法已过时 替换成build构造
8)RabbitTemplate setReturnCallback已过时,替换成setReturnsCallback
9)JPA 对于有内部entity的jpa bean ,lazy注解不再生效会自动生成inner join语句,需要按业务修改
10)JPA 对于所有数据库操作都会默认开启事务,在配置项加上
|
关闭jpa默认事务
11)jpa的更新与删除必须要开启事务,否则会报
No EntityManager with actual transaction available for current thread 错误
12)MongoDbFactory已过时,无法正常注入 替换成MongoDatabaseFactory
13)配置taskExcutor线程池
|
4、配置修改
1)spring.profiles配置已过时,修改为spring.config.active.on-profile
2)ribbon已弃用,要使用新的服务配置
|
3)后端服务间调用要去掉网关的前缀
4)当使用@PathVariable注解时,对于jpa可能查不到结果情况要加上required = false
5)有路径匹配配置 增加配置参数
|
6)mysql驱动 com.mysql.jdbc.Driver 修改为 com.mysql.cj.jdbc.Driver
5、兼容zuul网关
1)指定spring-cloud-starter-netflix-zuul版本 为 2.2.10.RELEASE
1)新加ZuulConfiguration文件
|
注意:使用zuul网关的项目无法使用spring-cloud-starter-loadbalancer,只能使用ribbon
在boot2.6使用ribbon时需要重写RibbonLoadBalancerClient类,并实现choose方法。
|
6、PathVariable校验不通过默认返回500 =>修改为返回404错误
-
@ControllerAdvice
-
public class GlobalControllerExceptionHandler extends ResponseEntityExceptionHandler {
-
-
/**
-
* PathVariable 校验不通过 返回404错误
-
*/
-
protected ResponseEntity<Object> handleMissingPathVariable(MissingPathVariableException ex, HttpHeaders headers, HttpStatus status, WebRequest request) {
-
Map<String, Object> errorAttributes = new LinkedHashMap<>();
-
status = HttpStatus.NOT_FOUND;
-
errorAttributes.put("status", status.value());
-
return new ResponseEntity<>(errorAttributes, status);
-
}
-
-
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfhhkfh
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01