有差異,但差異不大。基本上基於SpringBoot的代碼不須要改動,但有些配置屬性和配置類,可能要改動,改動緣由是html
配置已經不存在或者更名 類已經不存在更名web
聽着挺嚇人,但我實際切換過程當中改動的地方不多。通常正常的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而爭論了屢次.....緩存