Sring Boot 2.5正式發(fā)布了秸谢,支持Java 16霹肝,增強(qiáng)了Docker鏡像構(gòu)建功能,而且提供了初始化數(shù)據(jù)源的新機(jī)制臭蚁。
基于Spring Boot 2.4的變動(dòng)
Sql腳本初始化數(shù)據(jù)源
在Spring Boot 2.5中已經(jīng)重新設(shè)計(jì)了用于支持schema.sql
和data.sql
編寫腳本的基礎(chǔ)方法。spring.datasource.*
中和數(shù)據(jù)源初始化相關(guān)的配置已經(jīng)過(guò)時(shí)冷尉,會(huì)被spring.sql.init.*
系列配置所代替系枪,而且新的配置對(duì)R2DBC也適用。需要注意的是目前不支持分離許可證(separate credentials)震束,目的是降低復(fù)雜度并同F(xiàn)lyway和Liquibase保持一致性兼容当犯。當(dāng)然你可以通過(guò)自行實(shí)現(xiàn)org.springframework.jdbc.datasource.init.DataSourceInitializer
來(lái)擴(kuò)展。
環(huán)境變量前綴
現(xiàn)在可以為系統(tǒng)環(huán)境變量SystemEnvironmentPropertySource
指定前綴嘉栓,以便您可以在同一環(huán)境中運(yùn)行多個(gè)不同的Spring Boot應(yīng)用程序時(shí)使用SpringApplication.setEnvironmentPrefix("PRIFIX")
例如:
SpringApplication application = new SpringApplication(MyApp.class);
application.setEnvironmentPrefix("myapp");
application.run(args);
當(dāng)你需要針對(duì)特定的應(yīng)用改變系統(tǒng)變量時(shí)拓诸,如OS,就可以聲明為MYAPP_OS、MYAPP-OS或者M(jìn)YAPP.OS
馋辈。注意不是application.yaml
中的配置倍谜。
HTTP/2支持
現(xiàn)在Spring Boot內(nèi)置的四種Web容器已經(jīng)在不需要任何自定義的情況下,支持HTTP/2 over TCP答毫。設(shè)置server.http2.enabled
為 true季春,server.ssl.enabled
為false即可生效。
Docker鏡像
War分層鏡像
現(xiàn)在Spring Boot也能打成war包裝進(jìn)Docker鏡像了耘拇,而且支持分層構(gòu)建宇攻。
buildpacks
如果你使用buildpacks構(gòu)建鏡像尺碰,你可以將其配置屬性文件放到一個(gè)目錄下或者tar.gz文件中译隘。卷(volume )綁定現(xiàn)在也支持buildpacks構(gòu)建器了洛心。
度量指標(biāo)
現(xiàn)在Spring Boot支持OpenMetrics for Prometheus、Spring Data Repositories词身、WebFlux法严、MongoDB 、Quartz
的度量指標(biāo)監(jiān)控深啤。
依賴升級(jí)
以下依賴升級(jí)到新版本
Spring Data 2021.0
Spring Integration 5.5
Spring Security 5.5
Spring Session 2021.0
Spring HATEOAS 1.3
Spring Kafka 2.7.0
過(guò)期依賴移除
Spring Boot 2.5已刪除了Spring Boot 2.3中不推薦使用的代碼溯街。Spring Boot 2.4不推薦使用的代碼目前保留,并計(jì)劃在Spring Boot 2.6中將其刪除挥等。不推薦使用的代碼即@Deprecated標(biāo)
記的API堤尾。
文檔優(yōu)化
Spring Boot文檔史詩(shī)級(jí)優(yōu)化,界面更新穎漂亮辞槐,字體更加清晰剩蟀,暗黑主題切威,代碼折疊育特,代碼剪切板都有了!
官方文檔:https://spring.io/quickstart
其它
其實(shí)還有其它一些細(xì)節(jié)改動(dòng)和優(yōu)化先朦,基于篇幅就不多介紹了缰冤,有興趣可以查看官方文檔了解。