#### 升级目的:
正常来说,后端主要追求稳定性,非不得已尽量不进行大的升级。但是本次由于线上版本落后,存在较多已知安全漏洞,一个一个根据官方文档手动排查修复不现实,所以选择升级。
**原始版本:**1.5.10.RELEASE
**目标版本:**2.1.17.RELEASE(跨了一个大版本,害怕)
#### 相关变动:
1. SpringBootServletInitializer
变动:所在包位置变动
原版:org.springframework.boot.web.support.SpringBootServletInitializer
新版:org.springframework.boot.web.servlet.support.SpringBootServletInitializer
2. Md5PasswordEncoder
变动:由于不安全,已被删除
新版:建议使用BCryptPasswordEncoder, Pbkdf2PasswordEncoder, SCryptPasswordEncoder, DelegatingPasswordEncoder
3. EmbeddedServletContainerCustomizer
变动:用法变更
原版:实现EmbeddedServletContainerCustomizer的customize方法
新版:实现WebServerFactoryCustomizer<ConfigurableServletWebServerFactory>的customize方法。还有一些相关的类的包名也都有更改,例如MimeMappings,不一一列举。
4. JPA
变动:方法名称更明确了
原版:find、save
新版:findById、saveAll
5. spring的配置更改
变动:请查阅官方文档
[1.5.10到2.0.0的变动](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Configuration-Changelog)
[2.0.6到2.1.0的变动](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.1.0-Configuration-Changelog)
6. druid
是否需要更改请根据自己目前版本查阅[官方文档](https://github.com/alibaba/druid/wiki/%E9%A6%96%E9%A1%B5)
7. tomcat
这个版本的SpringBoot至少需要Tomcat8。如果还在用7的请自行升级。
PS:升级有可能会导致依赖问题。idea的maven面板中可以show dependencies快速查看依赖关系。
SpringBoot 1.x升级到2.x