SpringBoot 是 Spring 開源組織下的子項目,是 Spring 組件一站式解決方案,主要是簡化了使用 Spring 的難度,簡省了繁重XML的配置,提供了各種啟動器,在運行過程中自定配置, 開發(fā)者能快速上手。它的優(yōu)勢是獨立運行、 簡化配置、自動配置 、無代碼生成和XML配置, 無需部署war文件。
-快速創(chuàng)建獨立運行的spring項目與主流框架集成
-使用嵌入式的servlet容器,應(yīng)用無需打包成war包
-starters自動依賴與版本控制
-大量的自動配置,簡化開發(fā),也可修改默認值
-準生產(chǎn)環(huán)境的運行應(yīng)用監(jiān)控
-與云計算的天然集成
SpringBoot 可以通過 @PropertySource,@Value,@Environment, @ConfigurationProperties 來綁定變量。
YAML是一種人類可讀的數(shù)據(jù)序列化語言。它通常用于配置文件。與屬性文件相比,如果我們想要在配置文件中添加復(fù)雜的屬性,YAML文件就更加結(jié)構(gòu)化,而且更少混淆。可以看出YAML具有分層配置數(shù)據(jù)。
.properties和.yml,它們的區(qū)別主要是書寫格式不同。yml采取的是縮進的格式 不支持@PerpertySource注解導(dǎo)入配置。
SpringBoot配置加載順序優(yōu)先級是:propertiese文件、YAML文件、系統(tǒng)環(huán)境變量、命令行參數(shù)。
@SpringBootApplication是Spring Boot的核心注解
主要組合包含了以下3個注解:
1@SpringBootConfiguration: 組合了@Configuration 注解,實現(xiàn)配置文件的功能。
2@EnableAutoConfiguration: 打開自動配置的功能,也可以關(guān)閉某個自動配置的選項,如關(guān)閉數(shù)據(jù)源自動配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
3@ComponentScan: Spring組件掃描
1)打包用命令或者放到容器中運行
2)用 Maven/ Gradle 插件運行
3)直接執(zhí)行 main 方法運行
方式一:點擊idea中pacakage插件,war包生成在target文件夾下
方式二:命令方式,通過輸入maven打包命令mvn package 即可打war包成功,war包生成在target文件夾下!
添加如下文件,其中dev是開發(fā)環(huán)境,test是測試環(huán)境,prod是生產(chǎn)環(huán)境
application-dev.properties
application-test.properties
application-prod.properties
Spring Loaded和Spring-boot-devtools
可以兼容,使用 @ImportResource 注解導(dǎo)入老 Spring 項目配置文件。