SpringBoot 1.x与SpringBoot 2.x的区别

首先需要说明的是,有差别,但差别不大。
基本上基于SpringBoot的代码不需要改动,但有些配置属性和配置类,可能要改动,改动原因是配置已经不存在或者改名,类已经不存在改名。听着挺吓人,但我实际切换过程中改动的地方很少。一般正常的MVC,数据库访问这些都不需要改动,下面按照本书章节说明我曾碰到的区别。

  1. SpringBoot 2基于Spring5和JDK8,而Spring 1x则用的是降低版本,带来的为可能是你的应用服务必须支持JDK8。
  2. MVC部分,有些定制类改动了,比如WebMvcConfiguer,由抽象类改为接口,这是因为JDK8对接口有新的支持形式,统一错误处理,基类AbstarctErrorController也改动非常大。MVC里的视图渲染Freemaker视图解析器也有改动,默认情况下,它会自动加上ftl来来寻找模板。
  3. JPA中,findById 返回了一个Optional对象,改动较大,会直接影响所有业务代码。
  4. Acutator,本章SpringBoot1.x和2变化较大,默认情况,不再启用所有监控,另外编写自己监控信息,完全需要重写,HealthIndicator,EndPoint 变化很大。
  5. Spring Security Oauth2合并到Spring Security中。
  6. Tomcat 8.5或更高版本。
暂时就先这些吧

你可能感兴趣的:(SpringBoot 1.x与SpringBoot 2.x的区别)