淺談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大大簡化了默認(rèn)的安全配置,使添加自定義安全性變得簡單。
安全自動(dòng)配置不再公開選項(xiàng),并盡可能使用Spring Security默認(rèn)值。
Spring Boot 2 通過Spring Security 5 提供OAuth 2.0客戶端支持
Actuator不再有單獨(dú)的安全自動(dòng)配置(management.security.*屬性消失)
Spring Data Kay 重命名了許多CRUD存儲(chǔ)庫方法。調(diào)用重命名方法的應(yīng)用程序代碼必須更新。為了簡化遷移,您可能需要考慮使用自定義CrudRepository子接口來聲明不推薦使用舊名稱的默認(rèn)方法,并委托給等效的新命名方法。
默認(rèn)連接池已從Tomcat切換到HikariCP.
DataSource現(xiàn)在,只對(duì)嵌入式數(shù)據(jù)源啟用基本初始化,并在使用生產(chǎn)數(shù)據(jù)庫時(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ù)庫。一旦檢測(cè)到架構(gòu)管理器,默認(rèn)值就會(huì)更改為none.
Elasticsearch已升級(jí)到5.4+
不再可以自動(dòng)配置常規(guī)HazelcastInstance和專用HazelcastInstance緩存。
補(bǔ)充:Spring Boot 2.0 遷移遇到的問題
1.findOne()這個(gè)方法找不到
@RequestMapping(value = "/find") public User find(long id){ return userRepository.findOne(id); }
2.0之后改成findById(id).get()來查詢
@RequestMapping(value = "/find") public User find(long id){ return userRepository.findById(id).get(); }
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java簡單實(shí)現(xiàn)八叉樹圖像處理代碼示例
這篇文章主要介紹了java簡單實(shí)現(xiàn)八叉樹圖像處理代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12jdk中keytool的使用以及如何提取jks文件中的公鑰和私鑰
JKS文件由公鑰和密鑰構(gòu)成利用Java?Keytool工具生成的文件,它是由公鑰和密鑰構(gòu)成的,下面這篇文章主要給大家介紹了關(guān)于jdk中keytool的使用以及如何提取jks文件中公鑰和私鑰的相關(guān)資料,需要的朋友可以參考下2024-03-03controller層如何同時(shí)接收兩個(gè)實(shí)體類
這篇文章主要介紹了controller層如何同時(shí)接收兩個(gè)實(shí)體類問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Java中List排序的三種實(shí)現(xiàn)方法實(shí)例
其實(shí)Java針對(duì)數(shù)組和List的排序都有實(shí)現(xiàn),對(duì)數(shù)組而言你可以直接使用Arrays.sort,對(duì)于List和Vector而言,你可以使用Collections.sort方法,下面這篇文章主要給大家介紹了關(guān)于Java中List排序的三種實(shí)現(xiàn)方法,需要的朋友可以參考下2021-12-12SpringCloud?Gateway?DispatcherHandler調(diào)用方法詳細(xì)介紹
我們第一個(gè)關(guān)注的類就是DispatcherHandler,這個(gè)類提供的handle()方法,封裝了我們之后所有的handlerMappings,這個(gè)DispatcherHandler有點(diǎn)想SpringMVC的DispatchServlet,里面也是封裝了請(qǐng)求和對(duì)應(yīng)的處理方法的關(guān)系2022-10-10