Spring Boot 1 和 Spring Boo 2的差别


声明:本文转载自https://my.oschina.net/xiandafu/blog/1581351,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

有差别,但差别不大。基本上基于SpringBoot的代码不需要改动,但有些配置属性和配置类,可能要改动,改动原因是

配置已经不存在或者改名 类已经不存在改名

听着挺吓人,但我实际切换过程中改动的地方很少。一般正常的MVC,数据库访问这些都不需要改动,下面按照我写的《Spring Boot 2精髓:从构建小系统到架构分布式大系统》本书章节说明我曾碰到的区别

  • 第1章,SpringBoot 2基于Spring5和JDK8,而Spring 1x则用的是JDK7,因此你的应用服务必须支持JDK8
  • 第2章,无区别,使用SpringBoo2,建议使用较新的Maven版本,以及较新的JDK,尤其是IDE工具,以免Maven在IDE里的视图报出警告信息
  • 第3章:MVC部分,有些定制类改动了,比如WebMvcConfiguer,由抽象类改为接口,这是因为JDK8对接口有新的支持形式,3.8章提到的统一错误处理,基类AbstarctErrorController也改动非常大,请参考书中描述的知识点。MVC里的视图渲染Freemaker视图解析器也有改动,默认情况下,它会自动加上ftl来来寻找模板
  • 第4章:关于Beetl,无改动,请使用新版本即可
  • 第5章,无改动,JDBCTemplate和BeetlSQL均可以使用
  • 第6章,JPA中,findById 返回了一个Optional对象,改动较大,会直接影响所有业务代码,Page代码接口也有调整。
  • 第7章,SpringBoot配置,web应用的ContextPath 配置属性已经改动,可以参考本文章的7.1.1 说明。另外配置文件的中文可以直接读取,而不需要转码。另外,自动装配里Boot提供的JavaVersion类报名改动了。根据jdk版本自动装配的需要调整代码。在配置文件中出现中文,到了Spring Boot 2 ,不需要转码
  • 第8章,部署SpringBoot无改动
  • 第9章,测试SpringBoot无改动
  • 第10章,无改动,但Swagger UI变化较大。除了参考本书外,还需要密切注意Sawgger的最新特性
  • 第11章, MongDB,无变化
  • 第12章,Redis 无变化
  • 第13章,ElasticSearch,无改动,应该说SpringBoot2做的更好了。需要密切注意Elastic Search本身版本变化,它也是版本帝,Spring Boot略有点根本上。因此不能担保在因为Elastci Search的RESTAPI变化导致Spring Boot不兼容,所以一定要使用Spring Boot指定的版本
  • 这里是列表文本第14章,基本无改动,但内部CacheManager和Cache的接口改动,因此缓存机制内部变化较大,书里提到的一二级分布式缓存实现方式变化就比较大
  • 第15章,SpringSession 无变化
  • 第16章,由于本书将的是用Curator集成Spring Boot,所以无变化
  • 第17章,Acutator,本章SpringBoot1.x和2变化较大,默认情况,不再启用所有监控,另外编写自己监控信息,完全需要重写,HealthIndicator,EndPoint 变化很大

当然最根本差别还是Spring5 和 JDK8了,我公司就为是否因为使用JDK8而争论了多次.....

本文发表于2017年11月29日 12:33
(c)注:本文转载自https://my.oschina.net/xiandafu/blog/1581351,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 1938 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1