淺談Spring Boot 2.0遷移指南主要注意點
Spring官方的Spring Boot 2變動指南,主要是幫助您將應用程序遷移到Spring Boot 2.0,變化部分還是很多很細節(jié)的,摘錄主要點如下:
Spring Boot 2.0需要Java 8或更高版本。不再支持Java 6和7。它還需要Spring Framework 5.0,許多配置屬性被重新命名/刪除,開發(fā)者需要更新他們的application.properties/ application.yml相應。為了幫助您,Spring Boot提供了一個新spring-boot-properties-migrator模塊。一旦作為項目的依賴項添加,這不僅會在啟動時分析應用程序的環(huán)境和打印診斷,還會在運行時為您臨時遷移屬性。這是您在應用程序遷移期間必須具備的功能:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-properties-migrator</artifactId> <scope>runtime</scope> </dependency> <p>
Spring Boot現在默認使用CGLIB代理,包括AOP支持。如果需要基于接口的代理,則需要設置spring.aop.proxy-target-class為false
添加了一個新活動ApplicationStartedEvent。 ApplicationStartedEvent在刷新上下文之后但在調用任何應用程序和命令行運行程序之前發(fā)送。 ApplicationReadyEvent在調用任何應用程序和命令行運行程序后發(fā)送。它表示應用程序已準備好為請求提供服務。
Spring Boot 2使用Thymeleaf 3
在2.0中,我們將Jackson配置默認設置為將JSR-310日期寫為ISO-8601字符串。如果要返回先前的行為,可以添加spring.jackson.serialization.write-dates-as-timestamps=true到配置中
Spring Boot 2大大簡化了默認的安全配置,使添加自定義安全性變得簡單。
安全自動配置不再公開選項,并盡可能使用Spring Security默認值。
Spring Boot 2 通過Spring Security 5 提供OAuth 2.0客戶端支持
Actuator不再有單獨的安全自動配置(management.security.*屬性消失)
Spring Data Kay 重命名了許多CRUD存儲庫方法。調用重命名方法的應用程序代碼必須更新。為了簡化遷移,您可能需要考慮使用自定義CrudRepository子接口來聲明不推薦使用舊名稱的默認方法,并委托給等效的新命名方法。
默認連接池已從Tomcat切換到HikariCP.
DataSource現在,只對嵌入式數據源啟用基本初始化,并在使用生產數據庫時立即關閉。新的spring.datasource.initialization-mode(替換spring.datasource.initialize)提供更多的控制。
僅當未使用Liquibase或Flyway等架構管理器時,該spring.jpa.hibernate.ddl-auto屬性create-drop才會默認使用嵌入式數據庫。一旦檢測到架構管理器,默認值就會更改為none.
Elasticsearch已升級到5.4+
不再可以自動配置常規(guī)HazelcastInstance和專用HazelcastInstance緩存。
補充:Spring Boot 2.0 遷移遇到的問題
1.findOne()這個方法找不到
@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(); }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
jdk中keytool的使用以及如何提取jks文件中的公鑰和私鑰
JKS文件由公鑰和密鑰構成利用Java?Keytool工具生成的文件,它是由公鑰和密鑰構成的,下面這篇文章主要給大家介紹了關于jdk中keytool的使用以及如何提取jks文件中公鑰和私鑰的相關資料,需要的朋友可以參考下2024-03-03SpringCloud?Gateway?DispatcherHandler調用方法詳細介紹
我們第一個關注的類就是DispatcherHandler,這個類提供的handle()方法,封裝了我們之后所有的handlerMappings,這個DispatcherHandler有點想SpringMVC的DispatchServlet,里面也是封裝了請求和對應的處理方法的關系2022-10-10