springboot使用yml文件配置多環(huán)境方式(dev、test、prod)
使用yml文件配置多環(huán)境(dev、test、prod)
為了實現(xiàn)多環(huán)境配置,我們可以在本地開發(fā)的時候在Resource文件夾下新建不同環(huán)境的配置文件,
如下圖所示:
一、配置解析
默認(rèn)的一個,就是啥都不加的,默認(rèn)配置文件,application.yml文件,可根據(jù)自己需求使用
- 開發(fā)環(huán)境(dev):開發(fā)環(huán)境是專門用于開發(fā)的服務(wù)器,可隨時配置,只要配的自己開發(fā)舒服就行,
- 測試環(huán)境(test):一般是克隆一份生產(chǎn)環(huán)境的配置,一個程序在測試環(huán)境工作不正常,那么肯定不能把它發(fā)布到生產(chǎn)機上。
- 生產(chǎn)環(huán)境(prod):是正式提供對外服務(wù)的,一般會關(guān)掉錯誤報告,打開錯誤日志。這個配置就需要謹(jǐn)慎點哦
三個環(huán)境也可以說是系統(tǒng)開發(fā)的三個階段:開發(fā)->測試->上線,其中生產(chǎn)環(huán)境也就是通常說的真實環(huán)境。
使用這些配置還是有好處的:
1.不同環(huán)境配置可以配置不同的參數(shù)
2.便于部署,提高效率,減少出錯
這時候我們只需要在主配置文件application.yml文件使用spring.profiles.active = dev/test/prod來進行不同環(huán)境的切換
spring: profiles: active: dev #加載dev配置文件
二、主配置文件與不同環(huán)境的配置文件
Spring Profile有一個特性即可以在application.yml配置通用的內(nèi)容,在application-dev.yml文件中配置不同文件的差異化配置,這樣可以精簡我們的配置文件。
配置如下:
# 主配置文件主要用來存放公共設(shè)置,不受環(huán)境配置影響 server: port: 8082 # 指定端口號 context-path: /server # 指定訪問資源的根路徑 spring: profiles: active: dev
三、dev配置文件
# 主要用來存放不同環(huán)境差異化配置,包括ftp地址、數(shù)據(jù)庫連接等 spring: datasource: username: xxx password: xxx url: xxx driver-class-name: oracle.jdbc.driver.OracleDriver
上述解決方案雖然可以解決我們的環(huán)境問題,
但是不夠優(yōu)雅,還有一些值得優(yōu)化的地方,
比如打包出的配置文件有四個、每次需要手動修改主配置文件的環(huán)境信息等。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot 集成 Kafkad的實現(xiàn)示例
這篇文章主要介紹了Spring Boot 集成 Kafkad的示例,幫助大家更好的理解和學(xué)習(xí)使用Spring Boot框架,感興趣的朋友可以了解下2021-04-04淺談Java(SpringBoot)基于zookeeper的分布式鎖實現(xiàn)
這篇文章主要介紹了Java(SpringBoot)基于zookeeper的分布式鎖實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Java給JFrame窗口設(shè)置熱鍵的方法實現(xiàn)
這篇文章主要介紹了Java給JFrame窗口設(shè)置熱鍵的方法實現(xiàn),文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07springboot注入yml配置文件 list報錯的解決方案
這篇文章主要介紹了springboot注入yml配置文件 list報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08