javascript
SpringBoot中Profile配置和加载配置文件
文章目錄
- 一、多Profile的資源文件
- 二、profile激活
- 1、配置文件方式激活profile
- 2、命令行方式激活profile
- 三、@profile使用
寫在前面:
我是「境里婆娑」。我還是從前那個(gè)少年,沒有一絲絲改變,時(shí)間只不過是考驗(yàn),種在心中信念絲毫未減,眼前這個(gè)少年,還是最初那張臉,面前再多艱險(xiǎn)不退卻。
寫博客的目的就是分享給大家一起學(xué)習(xí)交流,如果您對(duì) Java感興趣,可以關(guān)注我,我們一起學(xué)習(xí)
前言:寫SpringBoot項(xiàng)目時(shí),在測(cè)試環(huán)境是一套數(shù)據(jù)庫(kù)配置,到了生產(chǎn)環(huán)境都要將配置改過來,如果改錯(cuò)了就一堆坑來了,所以Springboot提供了多環(huán)境配置,可以實(shí)現(xiàn)多種環(huán)境配置的動(dòng)態(tài)切換,本博客介紹一下Springboot profile使用的一些細(xì)節(jié)
一、多Profile的資源文件
在項(xiàng)目中寫配置Profile文件時(shí),文件命名可以是application-xxx.properties/yml,SpringBoot啟動(dòng)默認(rèn)加載的是application.properties。
一般來說多環(huán)境配置如下:
application-dev.yml
application-uat.yml
aplication-prod.yml
項(xiàng)目啟動(dòng)時(shí)候具體使用哪個(gè)環(huán)境配置在application.properties添加如下配置:
spring.profiles.active=dev項(xiàng)目結(jié)構(gòu)如下所示:
二、profile激活
實(shí)際使用中,有prod、test、uat等多個(gè)環(huán)境,運(yùn)行時(shí)使用哪個(gè)profile由spring.profiles.active控制,以下說明2種方式:
- 配置文件方式
- 命令行方式
1、配置文件方式激活profile
確定當(dāng)前使用的是哪個(gè)環(huán)境,環(huán)境的值與application-prod.properties中-后面的值對(duì)應(yīng),這是SpringBoot約定好的。
在application.properties中添加下面的配置。需要注意的是,spring.profiles.active的取值應(yīng)該與@Profile注解中的標(biāo)示保持一致。
application.yml中配置,效果是一樣的
spring:profiles:active: dev2、命令行方式激活profile
在打包運(yùn)行的時(shí)候添加參數(shù):
java -jar xxx.jar --spring.profiles.active=uat三、@profile使用
@profile注解的作用是指定類或方法在特定的 Profile 環(huán)境生效,任何@Component或@Configuration注解的類都可以使用@Profile注解。在使用DI來依賴注入的時(shí)候,能夠根據(jù)@profile標(biāo)明的環(huán)境,將注入符合當(dāng)前運(yùn)行環(huán)境的相應(yīng)的bean
- @profile可以用在方法和類上
用在類上:
@Profile("dev") @ConfigurationProperties(prefix = "person") @Component @Data public class Boss implements Person{private String name;private Integer age; }用在方法上:
@Configuration public class AppConfig {@Bean("dataSource")@Profile("dev")public Color color() {return new Color();} }以上就是對(duì)Profile配置詳細(xì)介紹。本章節(jié)詳細(xì)代碼在:spring-boot-profile
總結(jié)
以上是生活随笔為你收集整理的SpringBoot中Profile配置和加载配置文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDK 监控和故障处理工具总结
- 下一篇: SpringBatch处理适配器Item