淺談Spring Boot 2.0遷移指南主要注意點

Spring官方的Spring Boot 2變動指南,主要是幫助您將應用程序遷移到Spring Boot 2.0,具有一定的參考價值,感興趣的小夥伴們可以參考一下

Spring官方的Spring Boot 2變動指南,主要是幫助您將應用程序遷移到Spring Boot 2.0,變化部分還是很多很細節的,摘錄主要點如下:

Spring Boot 2.0需要Java 8或更高版本。不再支持Java 6和7。它還需要Spring Framework 5.0,許多配置屬性被重新命名/刪除,開發者需要更新他們的application.properties/ application.yml相應。爲了幫助您,Spring Boot提供了一個新spring-boot-properties-migrator模塊。一旦作爲項目的依賴項添加,這不僅會在啓動時分析應用程序的環境和打印診斷,還會在運行時爲您臨時遷移屬性。這是您在應用程序遷移期間必須具備的功能:

<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在刷新上下文之後但在調用任何應用程序和命令行運行程序之前發送。 ApplicationReadyEvent在調用任何應用程序和命令行運行程序後發送。它表示應用程序已準備好爲請求提供服務。

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+

不再可以自動配置常規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();
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章