Spring Boot - Profile不同環境配置
轉載自 Spring Boot - Profile不同環境配置
Profile是什麼
Profile我也找不出合適的中文來定義,簡單來說,Profile就是Spring Boot可以對不同環境或者指令來讀取不同的配置檔案。
Profile使用
假如有開發、測試、生產三個不同的環境,需要定義三個不同環境下的配置。
基於properties檔案型別
你可以另外建立3個環境下的配置檔案:
applcation.properties
application-dev.properties
application-test.properties
application-prod.properties
然後在applcation.properties檔案中指定當前的環境spring.profiles.active=test,這時候讀取的就是application-test.properties檔案。
基於yml檔案型別
只需要一個applcation.yml檔案就能搞定,推薦此方式。
spring: profiles: active: prod --- spring: profiles: dev server: port: 8080 --- spring: profiles: test server: port: 8081 --- spring.profiles: prod spring.profiles.include: - proddb - prodmq server: port: 8082 --- spring: profiles: proddb db: name: mysql --- spring: profiles: prodmq mq: address: localhost
此時讀取的就是prod的配置,prod包含proddb,prodmq,此時可以讀取proddb,prodmq下的配置。
也可以同時啟用三個配置。
spring.profiles.active: prod,proddb,prodmq
基於Java程式碼
在JAVA配置程式碼中也可以加不同Profile下定義不同的配置檔案,@Profile註解只能組合使用@Configuration和@Component註解。
@Configuration @Profile("prod") public class ProductionConfiguration { // ... }
指定Profile
main方法啟動方式:
// 在Eclipse Arguments裡面新增 --spring.profiles.active=prod
外掛啟動方式:
spring-boot:run -Drun.profiles=prod
jar執行方式:
java -jar xx.jar --spring.profiles.active=prod
除了在配置檔案和命令列中指定Profile,還可以在啟動類中寫死指定,通過SpringApplication.setAdditionalProfiles方法。
SpringApplication.class
public void setAdditionalProfiles(String... profiles) { this.additionalProfiles = new LinkedHashSet<String>(Arrays.asList(profiles)); }
相關文章
- Spring Boot + Mybatis + Spring MVC環境配置(三):DataSource配置Spring BootMyBatisMVC
- Spring Boot配合Maven的Profile機制完成環境適配Spring BootMaven
- Spring Boot + Mybatis + Spring MVC環境配置(二):Mybatis Generator配置Spring BootMyBatisMVC
- spring boot學習4 多環境配置Spring Boot
- spring boot環境抽象Spring Boot抽象
- Spring Boot + Mybatis + Spring MVC環境配置(五):templates模板使用Spring BootMyBatisMVC
- Spring Boot + Mybatis + Spring MVC環境配置(四):MVC框架搭建Spring BootMyBatisMVC框架
- Spring Boot入門(二):使用Profile實現多環境配置管理&獲取配置檔案值的兩種方式Spring Boot
- Spring Boot 2.4 對多環境配置的支援更改Spring Boot
- Spring Boot + Mybatis + Spring MVC環境配置(一) :Spring Boot初始化,依賴新增Spring BootMyBatisMVC
- SpringBoot配置Profile多環境支援Spring Boot
- 多環境支援-Maven和Spring的ProfileMavenSpring
- Vue 不同環境配置 API 地址VueAPI
- Linux系統CentOS 7配置Spring Boot執行環境LinuxCentOSSpring Boot
- Spring Boot - 多模組多環境配置,大廠必備技能Spring Boot
- 配置變數區分不同環境變數
- maven學習(下)利用Profile構建不同環境的部署包Maven
- spring boot使用logback實現多環境日誌配置Spring Boot
- yml檔案中使用profile配置切換多環境
- Spring(環境搭建&配置詳解)Spring
- Spring Boot 入門系列(二十四)多環境配置,3分鐘搞定!Spring Boot
- Linux環境下Spring Boot專案內建Tomcat引數配置LinuxSpring BootTomcat
- Spring Boot:Spring Boot配置MybatisSpring BootMyBatis
- Windows10 Java Spring boot 開發環境搭建WindowsJavaSpring Boot開發環境
- 在 Kotlin + Spring Boot 中使用環境變數KotlinSpring Boot變數
- Spring Boot & 配置Spring Boot
- Spring Boot:Spring Boot配置SwaggerSpring BootSwagger
- spring cloud 信用盤程式搭建環境配置SpringCloud
- Struts2,Hibernate,Spring 環境配置Spring
- app自動化測試環境配置:adb環境配置、monkey環境配置、appium環境配置大全APP
- 環境配置
- spring boot 配置 JPASpring Boot
- Spring Boot核心配置Spring Boot
- vue不同環境的壓包配置方法(vue-cli 3.0)Vue
- 基於spring-boot&spring-data-jpa的web開發環境整合SpringbootWeb開發環境
- 基於spring boot 及mybatis的web開發環境搭建Spring BootMyBatisWeb開發環境
- spring-boot專案在外部tomcat環境下部署SpringbootTomcat
- 嗯,挺全乎兒的,Spring Boot 多環境配置都在這裡了,你喜歡哪種?Spring Boot