詳解springboot + profile(不同環(huán)境讀取不同配置)
具體做法:

- 不同環(huán)境的配置設(shè)置一個(gè)配置文件,例如:dev環(huán)境下的配置配置在application-dev.properties中;prod環(huán)境下的配置配置在application-prod.properties中。
- 在application.properties中指定使用哪一個(gè)文件
1、application-dev.properties(dev環(huán)境下的配置)
profile = dev_envrimont
2、application-prod.properties(prod環(huán)境下的配置)
profile = prod_envrimont
3、application.properties
spring.data.mongodb.uri=mongodb://192.168.22.110:27017/myfirstMongodb #spring.profiles.active spring.profiles.active=dev
說(shuō)明:上邊的配置表示使用dev環(huán)境下的配置。
注意:spring.data.mongodb.uri=mongodb://192.168.22.110:27017/myfirstMongodb該配置是application-dev.properties沒(méi)有的配置
4、Controller
@Autowired
private Environment env;
@RequestMapping("/testProfile")
public String testProfile(){
return env.getProperty("profile");
}
測(cè)試:
- 上述代碼執(zhí)行后的結(jié)果是:dev_envrimont和mongodb://192.168.22.110:27017/myfirstMongodb
- 如果application.properties的配置改為:spring.profiles.active=prod,則結(jié)果是:prod_envrimont
- 如果application.properties的配置改為:spring.profiles.active=prod,而application.properties中也配置了profile=xxx(不管該配置配置在spring.profiles.active=prod的上方還是下方),這個(gè)時(shí)候結(jié)果是:prod_envrimont
- 如果application.properties的配置改為:spring.profiles.active=prod,而application.properties中也配置了profile=xxx(不管該配置配置在spring.profiles.active=prod的上方還是下方),但是application-prod.properties刪掉了profile = prod_envrimont,這個(gè)時(shí)候結(jié)果是:xxx
結(jié)論:
- 各個(gè)環(huán)境公共的配置寫(xiě)在application.properties中
- 各個(gè)模塊獨(dú)有的配置配置在自己的application-{xxx}.properties文件中
- 程序讀取的時(shí)候優(yōu)先讀取application.properties中選中的profile的配置,若讀不到才會(huì)從application.properties去讀
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot 使用內(nèi)置tomcat禁止不安全HTTP的方法
這篇文章主要介紹了Springboot 使用內(nèi)置tomcat禁止不安全HTTP的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
簡(jiǎn)單剖析Java中動(dòng)態(tài)線程池的擴(kuò)容以及縮容操作
這篇文章主要為大家詳細(xì)介紹了Java中動(dòng)態(tài)線程池的擴(kuò)容以及縮容操作的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-01-01
java中ArrayList與LinkedList對(duì)比詳情
這篇文章主要通過(guò)實(shí)例對(duì)Java中ArrayList與LinkedList進(jìn)行了對(duì)比,需要的朋友可以參考下2017-04-04
Java 實(shí)現(xiàn)加密數(shù)據(jù)庫(kù)連接的步驟
這篇文章主要介紹了Java 實(shí)現(xiàn)加密數(shù)據(jù)庫(kù)連接的步驟,幫助大家更好的理解和使用Java處理數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-11-11
關(guān)于SpringCloud的微服務(wù)結(jié)構(gòu)及微服務(wù)遠(yuǎn)程調(diào)用
Spring Cloud 是一套完整的微服務(wù)解決方案,基于 Spring Boot 框架,準(zhǔn)確的說(shuō),它不是一個(gè)框架,而是一個(gè)大的容器,它將市面上較好的微服務(wù)框架集成進(jìn)來(lái),從而簡(jiǎn)化了開(kāi)發(fā)者的代碼量,需要的朋友可以參考下2023-05-05
使用Java的Lucene搜索工具對(duì)檢索結(jié)果進(jìn)行分組和分頁(yè)
這篇文章主要介紹了使用Java的搜索工具Lucene對(duì)檢索結(jié)果進(jìn)行分組和分頁(yè)的方法,Luence是Java環(huán)境中的一個(gè)全文檢索引擎工具包,需要的朋友可以參考下2016-03-03
SpringBoot API接口超時(shí)時(shí)間的五種配置方式詳解
在開(kāi)發(fā)API接口時(shí),配置API接口的超時(shí)時(shí)間是一項(xiàng)非常重要的任務(wù),SpringBoot中有多種方式可以配置API接口的超時(shí)時(shí)間,下面小編就為大家介紹一下吧2025-03-03
使用springmvc臨時(shí)不使用視圖解析器的自動(dòng)添加前后綴
這篇文章主要介紹了使用springmvc臨時(shí)不使用視圖解析器的自動(dòng)添加前后綴,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
JavaWeb項(xiàng)目中springmvc和tomcat對(duì)靜態(tài)文件的處理
這篇文章主要介紹了JavaWeb項(xiàng)目中springmvc和tomcat對(duì)靜態(tài)文件的處理 的相關(guān)資料,需要的朋友可以參考下2016-07-07

