Springboot2.5新特性詳解

      SpringBoot2.5新特性詳解

      SpringBoot2.4新特性詳解

      SpringBoot2.3新特性詳解

      SpringBoot2.2新特性詳解

1、SQL腳本數據源初始化

Spring Boot 2.5 中重新設計了用於支持schema.sqldata.sql腳本的底層方法。 spring.datasource.*DataSource初始化相關的屬性已被棄用,取而代之的是新spring.sql.init.*屬性。這些屬性還可用於初始化通過 R2DBC 訪問的 SQL 數據庫。

schema.sql和data.sql文件

對於 Spring Boot 2.5.1 及更高版本,新的 SQL 初始化屬性支持檢測 JDBC R2DBC 的嵌入式數據源。默認情況下,SQL 數據庫初始化僅在使用嵌入式內存數據庫時執行。要始終初始化 SQL 數據庫,無論其類型如何,請設置spring.sql.init.modealways. 同樣,要禁用初始化,請設置spring.sql.init.modenever

2、Spring Data JPA

Spring Data JPA 引入了一種新getById方法來取代getOne. 如果您發現您的應用程序正在拋出一個LazyLoadingException請將任何現有getById方法重命名爲getXyzById(其中xyz是任意字符串)。

3、Spring Data Solr

2021.0.0 Spring Data 中刪除之後,此版本中刪除了 Spring Data Solr 的自動配置。

4、任務調度協調與 Spring 集成

Spring Integration 現在重用一個可用的TaskScheduler而不是配置它自己的。在依賴自動配置的典型應用程序設置中,這意味着 Spring Integration 使用池大小爲 1 的自動配置的任務調度程序。要恢復 Spring Integration 的默認 10 個線程,請使用該spring.task.scheduling.pool.size屬性。

5、環境變量前綴

現在可以爲系統環境變量指定前綴,以便您可以在同一環境中運行多個不同的 Spring Boot 應用程序。使用SpringApplication.setEnvironmentPrefix(… )設置要綁定屬性時要使用的前綴。

例如,以下將添加myapp前綴:

SpringApplication application = new SpringApplication(MyApp.class);
application.setEnvironmentPrefix("myapp");
application.run(args);

所有屬性現在都需要一個帶前綴的版本。例如,要更改服務器端口,您可以設置MYAPP_SERVER_PORT。

6、基於 TCP 的 HTTP/2 (h2c)

所有四個嵌入式 Web 容器現在都支持 HTTP/2 over TCP (h2c),無需任何手動定製。要啓用 h2c,請設置server.http2.enabledtrue並保留server.ssl.enabled設置爲false(其默認值)。

7、War分層

Spring Boot Maven 和 Gradle 插件現在允許您創建分層 WAR 以與 Docker 映像一起使用。分層 WAR 的工作方式與早期版本的 Spring Boot 中提供的分層 JAR 支持類似。

8、Java16支持

提供支持並針對 Java 16 進行了測試。Spring Boot 2.5 仍然與 Java 8 兼容。

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