如果這兩天登錄 https://start.spring.io/ 就會發(fā)現(xiàn),Spring Boot 默認版本已經(jīng)升到了 2.1.0。這是因為 Spring Boot 剛剛發(fā)布了 2.1.0 版本,我們來看下 Spring Boot 2 發(fā)布以來第一個子版本都發(fā)布了哪些內(nèi)容?
2.1 中的新特性
- 將spring-boot-starter-oauth2-oidc-client重命名為spring-boot-starter-oauth2-client命名更簡潔
- 添加 OAuth2 資源服務 starter,OAuth2 一個用于認證的組件。
- 支持 ConditionalOnBean 和 ConditionalOnMissingBean 下的參數(shù)化容器
- 自動配置 ApplicationTaskExecutor bean 的延遲加載來避免不必要的日志記錄
- 將 DatabaseDriver#SAP 重命名為 DatabaseDriver
- 跳過重啟器不僅適用于 JUnit4,也適用于 JUnit5
- 在 Jest HealthIndicator 中使用集群端點
- 當 DevTools 禁用重啟時添加日志輸出
- 添加注解:@ConditionalOnMissingServletFilter提高 Servlet Filters 的自動裝配。
同時還有一大堆以來組件進行了升級:
2.1 中的組件升級
- 升級 Hibernate 5.3,Hibernate 的支持升級到了 5.3
- 升級 Tomcat 9 ,支持最新的 tomcat 9
- 支持 JAVA 11,Java 現(xiàn)在更新越來越快,Spring 快趕不上了。
- 升級 Thymeleaf Extras Springsecurity 到 3.0.4.RELEASE ,thymeleaf-extras-springsecurity 是 Thymeleaf 提供集成 Spring Security 的組件
- 升級 Joda Time 2.10.1,Joda-Time, 面向 Java 應用程序的日期/時間庫的替代選擇,Joda-Time 令時間和日期值變得易于管理、操作和理解。
- 升級 Lettuce 5.1.2.RELEASE ,Lettuce 前面說過,傳說中 redis 最快的客戶端。
- 升級 Reactor Californium-SR2 ,Californium 是物聯(lián)網(wǎng)云服務的 Java COAP 實現(xiàn)。因此,它更專注的是可擴展性和可用性而不是像嵌入式設備那樣關(guān)注資源效率。不過,Californium 也適合嵌入式的 JVM。
- 升級 Maven Failsafe Plugin 2.22.1 ,Maven 中的測試插件。
- 升級 Flyway 5.2.1 , Flyway是一款開源的數(shù)據(jù)庫版本管理工具
- 升級 Aspectj 1.9.2 ,AspectJ 是 Java 中流行的 AOP(Aspect-oriented Programming)編程擴展框架,是 Eclipse 托管給 Apache 基金會的一個開源項目。
- 升級 MySQL 8.0.13 ,Mysql 支持到 8。
- 升級 Undertow 2.0.14.Final , Undertow 是一個用 java 編寫的、靈活的、高性能的 Web 服務器,提供基于 NIO 的阻塞和非阻塞A PI。
- 升級 Rxjava2 2.2.3 ,RxJava是一個在 Java 虛擬機上的響應式擴展:一個用于通過使用可觀察序列來編寫異步和基于事件的程序的庫。
- 升級 Hazelcast 3.11 ,Hazelcast 是一個開源的可嵌入式數(shù)據(jù)網(wǎng)格(社區(qū)版免費,企業(yè)版收費)。你可以把它看做是內(nèi)存數(shù)據(jù)庫,不過它與 Redis 等內(nèi)存數(shù)據(jù)庫又有些不同。
- 升級 Spring Kafka 2.2.0.RELEASE ,Kafka 高吞吐量、內(nèi)置分區(qū)、支持數(shù)據(jù)副本和容錯的 消息中間件。
- 升級 Spring Batch 4.1.0.RELEASE ,Spring 的批處理框架。
- 升級 Micrometer 1.1.0 ,Micrometer 是一款監(jiān)控指標的度量類庫,可以讓您在沒有供應商鎖定的情況下對JVM 的應用程序代碼進行調(diào)整。
- 升級 Spring Integration 5.1.0.RELEASE,Spring integration,它是一種便捷的事件驅(qū)動消息框架。
- 升級 Spring Data Lovelace SR2 ,網(wǎng)上查了一下,仍然不知道 Spring Data Lovelace 是什么鬼,了解的朋友留言給我
- 升級 Spring Framework 5.1.2.RELEASE ,對于的 Spring 也進行了升級。
- 升級 Byte Buddy 1.9.3 ,Byte Buddy 是一個字節(jié)碼生成與維護的庫,主要用于在 Java 應用運行時生成和修改 Java 類,并且不需要編譯器來輔助。
- 升級 Spring Session Bean-RELEASE ,Spring 提供 Session 管理的組件。
詳細內(nèi)容參考這里:Spring Boot 2.1 Release Notes
每次看 Spring Boot 發(fā)布指南都要更新一遍腦子里面的技術(shù)名詞,Spring Boot 體系太大,幾乎集成了 Java 領(lǐng)域所有知名框架。
我在 Spring Boot 2.0 升級的時候說過一段話:
Spring Boot 2.0 是歷時 4 年開發(fā)出來的巨作,在 Spring Boot 1.0 的基礎上進行了大量的優(yōu)化,淘汰了很多過期的 API,同時引入了一大批最新的技術(shù),這些新技術(shù)在未來的一段時間內(nèi)都具有引導性。
如果不是特別需要使用 Spring Boot 2.0 上面提到的新特性,就盡量不要著急進行升級,等 Spring Boot 2.0 徹底穩(wěn)定下來后再使用。如果想要升級也請先從早期的版本升級到 Spring Boot 1.5X 系列之后,再升級到 Spring Boot 2.0 版本,Spring Boot 2.0 的很多配置內(nèi)容和 Spring Boot 1.0 不一致需要注意。
這是因為 Spring Boot 2.0 剛剛發(fā)布會有一段時間的穩(wěn)定期,現(xiàn)在 Spring Boot 2.1.0 的發(fā)布,意味著 Spring Boot 2.0 已經(jīng)徹底穩(wěn)定下來,如果公司比較喜歡嘗新,現(xiàn)在可以大膽的使用了。






