升级背景
springboot2.3.7太老了,官方都已经不支持了。(个人说句实话,其实也还好,只是springboot最近有点抽风,太快了。真不是国jun不给力,而是共jun太强悍了!)
查看当前版本的支持情况: [Spring Boot Level up your Java code and explore what Spring can do for you. ]
2.3.X版本,去年就gg了。
为了啥都好,那是必须要升级的。
既然要升级,就升级到到最新的支持的版本了。
3.0就不要想了,为啥?因为还没有正式版本,那就2.7吧。
升级准备
代码准备
升级之前,先记得拉个新的分支,如果没有svn工具,你就先复制一份,否则到时候中途升级失败,或者加个新的需求,后面就完犊子了。
依赖准备
为了方便大家升级,官方退出了套餐包。
下面的这个是2.7.0的,你可以在路径中直接将2.7.0修改未2.7.2就可以了。
[Dependency Versions]
你可以直接去更新对应的依赖包的版本,再也不用担心冲突了。
二是还增加了以下集成依赖。这个依赖的作用是当你的配置文件中存在被识别的已经移除的属性时,将会日志打印提示。简单来说就是历史的无效配置可以干掉了。
添加下当前maven的操作就可以了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
项目正常后,记得删掉这个哦。
当然,如果你是新项目,就不要那么麻烦了,直接上start.spring.io自己随便整下就可以。
注意事项
1、spring-cloud-starter-bootstrap 依赖(可选)
如果你的项目使用的是bootstrap配置文件,那么需要加下spring-cloud-starter-bootstrap依赖,因为新的版本里面,把bootstrap已经摘出去了,单独成一派。
如果不加的话,会读不到配置文件中的值哦。
spring-cloud-starter-bootstrap 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.3</version>
</dependency>
2、跨域设置
addAllowedOrigin("*")在2.7的版本中不支持了,需要使用addAllowedOriginPattern("*")来代替。
3、拦截器设置
原有的拦截器webmvcconfigureradapter 过期了,需要实现新的接口WebMvcConfigure。
4、配置文件设置
pathmatch默认匹配规则变了。需要设置默认的规则为ant_path_matcher。
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
5、swagger设置
swagger的话建议可以使用springdoc试下,这个用起来还是比较爽的。如果你不换的话,也是可以的。
其它的设置根据你的业务来了,如果包过时了升级一下就可以了。
总结
总体升级来讲的话,还是要参考官方的相关升级文档。个人建议如果没有对应的经验,最好不要一下跨度太大,可以小版本的来处理下。这样的话中间的变动会比较小,出现问题处理起来也会快的多。
欢迎关注我的公众号:敲代码的老贾,回复“领取”赠送《Java面试》资料,阿里,腾讯,字节,美团,饿了么等大厂