springboot設(shè)置多環(huán)境配置文件
實(shí)際開(kāi)發(fā)過(guò)程中會(huì)涉及多個(gè)環(huán)境,比如dev(開(kāi)發(fā)環(huán)境),test(測(cè)試環(huán)境),prod(線上環(huán)境),不同環(huán)境下,端口號(hào)、數(shù)據(jù)庫(kù)地址、redis地址等等會(huì)不盡相同,為了避免每次上線到不同環(huán)境都要修改配置文件可以在項(xiàng)目中配置多個(gè)配置文件,需要哪個(gè)激活哪個(gè)。
簡(jiǎn)單使用,不涉及過(guò)多講解
實(shí)現(xiàn)方法(以.yml為例):
方法一:創(chuàng)建多個(gè).yml文件
在項(xiàng)目中創(chuàng)建三個(gè).yml文件,分別是
application-dev.yml、application-test.yml、application-prod.yml
application-dev.yml (包含稍微多一些的配置,以防后面忘了咋配可以看一下)
server:
port: 8081
servlet:
context-path: "/admin" #修改項(xiàng)目訪問(wèn)路徑 ,默認(rèn)是 /
spring:
application:
name: volcano-admin
#mysql
datasource:
url: jdbc:mysql://localhost:3306/volcano?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
#redis
redis:
host: 127.0.0.1
port: 6379
# mybatis
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
type-aliases-package: com.passion.volcanoadmin.entityapplication-prod.yml(簡(jiǎn)單配置,區(qū)分dev和pro環(huán)境,就用端口號(hào)prot不同體現(xiàn)了)
server: context-path: /admin port: 8082
lapplication-test.yml(簡(jiǎn)單配置,區(qū)分dev和test環(huán)境,就用端口號(hào)prot不同體現(xiàn)了)
server: context-path: /admin port: 8083
在application.yml中激活要使用的配置文件
application.yml
#激活不同環(huán)境的配置文件
spring:
profiles:
active: dev激活的是dev環(huán)境,所以項(xiàng)目啟動(dòng)時(shí)會(huì)讀取application-dev.yml,使用的是8081的端口號(hào)

方法二:一個(gè)文件中使用“—”分隔符分割不同環(huán)境的配置,每個(gè)塊中指定 使用profile: dev指定環(huán)境
application.yml
server:
port: 8089
servlet:
context-path: "/admin" #修改項(xiàng)目訪問(wèn)路徑 ,默認(rèn)是 /
profile: dev
---
server:
port: 8088
profile: test
---
server:
port: 8087
profile: prod
spring:
application:
name: volcano-admin
#mysql
datasource:
url: jdbc:mysql://localhost:3306/volcano?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
---
#激活不同環(huán)境的配置文件
spring:
profiles:
active: prod激活的是prod,此時(shí)讀的是profile: profile的塊,所以端口號(hào)是8087

配置文件的激活方式
配置文件的激活方式有四種
- 在配置文件中激活(上面的例子就是)
- 在虛擬機(jī)參數(shù)中指定激活 (VM options 和 program arguments兩種方式)
- 使用命令行運(yùn)行是指定
具體如何操作:
1、在配置文件中激活,上面的實(shí)例就是使用的這種方式
在application.yml中指定
#激活不同環(huán)境的配置文件
spring:
profiles:
active: prod
2、虛擬機(jī)的參數(shù)中指定

2.1 VM options
點(diǎn)開(kāi)之后會(huì)有一個(gè) “VM options”的框,根據(jù)idea版本不同可能會(huì)有所不同。如果沒(méi)有可以點(diǎn)擊“Modify options” 下拉框中會(huì)有“VM options”,選擇后“VM options”框就會(huì)出來(lái),配置上
“-Dspring.profiles.active=test" 即可,此時(shí)激活的是test環(huán)境
(說(shuō)明:我本機(jī)使用的時(shí)三個(gè)配置文件的方式,所以dev的port是8081,prod的port是8082,test的port是8083)啟動(dòng)項(xiàng)目:

2.2program arguments
同2上的位置,可以找到“program arguments”的框,如果沒(méi)有就是“Modify options”下拉框中找。配置上“–spring.profiles.active=prod”,此時(shí)激活的是prod環(huán)境(我本機(jī)設(shè)置的pror是8082),啟動(dòng)項(xiàng)目:

3、運(yùn)行是指定運(yùn)行環(huán)境
運(yùn)行jar包的命令是 jave -jar xxx.jar,如果要指定運(yùn)行環(huán)境在后面加上–spring.profiles.active=dev
即:java -jar xxx.jar–spring.profiles.active=dev
順便說(shuō)一下jave打包,
可以使用idea 右側(cè)MAVEN —— package進(jìn)行打包,這種方式打包到當(dāng)前項(xiàng)目的target文件夾下。也可以使用mvn install進(jìn)行打包,這種方式會(huì)打包到maven setting.xml配置的倉(cāng)庫(kù)中
到此這篇關(guān)于springboot設(shè)置多環(huán)境配置文件的文章就介紹到這了,更多相關(guān)springboot多環(huán)境配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot中如何使用Convert接口實(shí)現(xiàn)類型轉(zhuǎn)換器
這篇文章主要介紹了Spring Boot中使用Convert接口實(shí)現(xiàn)類型轉(zhuǎn)換器的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java實(shí)現(xiàn)簡(jiǎn)單畫(huà)畫(huà)畫(huà)板
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單畫(huà)畫(huà)畫(huà)板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
使用Springboot整合GridFS實(shí)現(xiàn)文件操作
這篇文章主要介紹了使用Springboot整合GridFS實(shí)現(xiàn)文件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
詳解Java使用JDBC連接MySQL數(shù)據(jù)庫(kù)
本文詳細(xì)講解了Java使用JDBC連接MySQL數(shù)據(jù)庫(kù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01
Java實(shí)現(xiàn)查找當(dāng)前字符串最大回文串代碼分享
本文給大家介紹的是如何使用Java實(shí)現(xiàn)查找當(dāng)前字符串最大回文串代碼,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下2016-07-07

