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