淺談Spring Boot 2.0遷移指南主要注意點(diǎn)
Spring官方的Spring Boot 2變動(dòng)指南,主要是幫助您將應(yīng)用程序遷移到Spring Boot 2.0,變化部分還是很多很細(xì)節(jié)的,摘錄主要點(diǎn)如下:
Spring Boot 2.0需要Java 8或更高版本。不再支持Java 6和7。它還需要Spring Framework 5.0,許多配置屬性被重新命名/刪除,開發(fā)者需要更新他們的application.properties/ application.yml相應(yīng)。為了幫助您,Spring Boot提供了一個(gè)新spring-boot-properties-migrator模塊。一旦作為項(xiàng)目的依賴項(xiàng)添加,這不僅會(huì)在啟動(dòng)時(shí)分析應(yīng)用程序的環(huán)境和打印診斷,還會(huì)在運(yùn)行時(shí)為您臨時(shí)遷移屬性。這是您在應(yīng)用程序遷移期間必須具備的功能:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-properties-migrator</artifactId> <scope>runtime</scope> </dependency> <p>
Spring Boot現(xiàn)在默認(rèn)使用CGLIB代理,包括AOP支持。如果需要基于接口的代理,則需要設(shè)置spring.aop.proxy-target-class為false
添加了一個(gè)新活動(dòng)ApplicationStartedEvent。 ApplicationStartedEvent在刷新上下文之后但在調(diào)用任何應(yīng)用程序和命令行運(yùn)行程序之前發(fā)送。 ApplicationReadyEvent在調(diào)用任何應(yīng)用程序和命令行運(yùn)行程序后發(fā)送。它表示應(yīng)用程序已準(zhǔn)備好為請(qǐng)求提供服務(wù)。
Spring Boot 2使用Thymeleaf 3
在2.0中,我們將Jackson配置默認(rèn)設(shè)置為將JSR-310日期寫為ISO-8601字符串。如果要返回先前的行為,可以添加spring.jackson.serialization.write-dates-as-timestamps=true到配置中
Spring Boot 2大大簡(jiǎn)化了默認(rèn)的安全配置,使添加自定義安全性變得簡(jiǎn)單。
安全自動(dòng)配置不再公開選項(xiàng),并盡可能使用Spring Security默認(rèn)值。
Spring Boot 2 通過(guò)Spring Security 5 提供OAuth 2.0客戶端支持
Actuator不再有單獨(dú)的安全自動(dòng)配置(management.security.*屬性消失)
Spring Data Kay 重命名了許多CRUD存儲(chǔ)庫(kù)方法。調(diào)用重命名方法的應(yīng)用程序代碼必須更新。為了簡(jiǎn)化遷移,您可能需要考慮使用自定義CrudRepository子接口來(lái)聲明不推薦使用舊名稱的默認(rèn)方法,并委托給等效的新命名方法。
默認(rèn)連接池已從Tomcat切換到HikariCP.
DataSource現(xiàn)在,只對(duì)嵌入式數(shù)據(jù)源啟用基本初始化,并在使用生產(chǎn)數(shù)據(jù)庫(kù)時(shí)立即關(guān)閉。新的spring.datasource.initialization-mode(替換spring.datasource.initialize)提供更多的控制。
僅當(dāng)未使用Liquibase或Flyway等架構(gòu)管理器時(shí),該spring.jpa.hibernate.ddl-auto屬性create-drop才會(huì)默認(rèn)使用嵌入式數(shù)據(jù)庫(kù)。一旦檢測(cè)到架構(gòu)管理器,默認(rèn)值就會(huì)更改為none.
Elasticsearch已升級(jí)到5.4+
不再可以自動(dòng)配置常規(guī)HazelcastInstance和專用HazelcastInstance緩存。
補(bǔ)充:Spring Boot 2.0 遷移遇到的問(wèn)題
1.findOne()這個(gè)方法找不到
@RequestMapping(value = "/find")
public User find(long id){
return userRepository.findOne(id);
}
2.0之后改成findById(id).get()來(lái)查詢
@RequestMapping(value = "/find")
public User find(long id){
return userRepository.findById(id).get();
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java并發(fā) CompletableFuture異步編程的實(shí)現(xiàn)
這篇文章主要介紹了Java并發(fā) CompletableFuture異步編程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
Java數(shù)組優(yōu)點(diǎn)和缺點(diǎn)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
本文給大家簡(jiǎn)單介紹下java數(shù)組的優(yōu)點(diǎn)和缺點(diǎn)知識(shí),需要的的朋友參考下吧2017-04-04
springMVC發(fā)送郵件的簡(jiǎn)單實(shí)現(xiàn)
本篇文章主要介紹了springMVC發(fā)送郵件的簡(jiǎn)單實(shí)現(xiàn) ,主要是利用利用javax.mail發(fā)送郵件,圖片與附件都可發(fā)送,有興趣的可以了解一下2017-04-04
java實(shí)現(xiàn)簡(jiǎn)單的驗(yàn)證碼功能
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單的驗(yàn)證碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
SSL證書部署+SpringBoot實(shí)現(xiàn)HTTPS安全訪問(wèn)的操作方法
文章介紹了SSL和HTTPS的工作原理,包括握手階段和安全數(shù)據(jù)傳輸階段,通過(guò)模擬HTTPS請(qǐng)求,展示了如何生成自簽名證書并配置Spring Boot應(yīng)用程序以支持HTTPS,總結(jié)指出,SSL和HTTPS對(duì)于保護(hù)網(wǎng)絡(luò)安全至關(guān)重要,感興趣的朋友一起看看吧2025-02-02
Spring Security實(shí)現(xiàn)自定義訪問(wèn)策略
本文介紹Spring Security實(shí)現(xiàn)自定義訪問(wèn)策略,當(dāng)根據(jù)誰(shuí)訪問(wèn)哪個(gè)域?qū)ο笞龀霭踩珱Q策時(shí),您可能需要一個(gè)自定義的訪問(wèn)決策投票者,幸運(yùn)的是,Spring Security有很多這樣的選項(xiàng)來(lái)實(shí)現(xiàn)訪問(wèn)控制列表(ACL)約束,下面就來(lái)學(xué)習(xí)Spring Security自定義訪問(wèn)策略,需要的朋友可以參考下2022-02-02

