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