SpringBoot配置文件的拆分過程
在實(shí)際開發(fā)過程中 生產(chǎn)環(huán)境 和 測試環(huán)境 有可能是不一樣的,因此將生產(chǎn)中的配置和測試中的配置拆分開,是非常必要的;在 springboot 中也提供了配置文件拆分的方式。
這里以生產(chǎn)中項(xiàng)名名稱不一致為例,假設(shè):
- 生產(chǎn)中的項(xiàng)目名為:cmzf
- 測試中的項(xiàng)目名為:springboot
- 端口同時(shí)為:8080
application.yml
- 主配置文件:
application.yml
# 用來書寫生產(chǎn)和測試相同的的配置
spring:
profiles:
active: dev
server:
port: 8080 #生產(chǎn)和測試為同一個(gè)端口
- 生產(chǎn)配置文件:
application-pord.yml
server: servlet: context-path: /cmfz
- 測試配置文件:
application-dev.yml
server: servlet: context-path: /springboot
yml 多文檔塊方式
server:
port: 8081
spring:
profiles:
active: prod
---
server:
port: 8083
spring:
profiles: dev
---
server:
port: 8084
spring:
profiles: prod #指定屬于哪個(gè)環(huán)境
application.properties
- 主配置文件:
application.properties
# 延遲加載 spring.main.lazy-initialization=true # 使用測試環(huán)境配置 spring.profiles.active=dev
- 測試配置文件:
application-dev.properties
server.servlet.context-path=/springboot server.port=8989
- 生產(chǎn)配置文件:
application-prod.properties
server.servlet.context-path=/cmfz server.port=8080
激活指定 profile(3種方法)
1、在配置文件中指定 spring.profiles.active=dev
2、命令行:運(yùn)行 jar 包時(shí)后面寫上:--spring.profiles.active=dev
java -jar hello_springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev;
可以直接在測試的時(shí)候,配置傳入命令行參數(shù):

?3、虛擬機(jī)參數(shù);
-Dspring.profiles.active=dev

配置文件的加載位置
springboot 啟動會掃描以下幾個(gè)位置的 配置文件:
–file:./config/–file:./–classpath:/config/–classpath:/
優(yōu)先級由高到底,高優(yōu)先級的配置會覆蓋低優(yōu)先級的配置;
SpringBoot 會從這四個(gè)位置全部加載主配置文件;互補(bǔ)配置;
我們還可以通過 spring.config.location 來改變默認(rèn)的配置文件位置;
項(xiàng)目打包好以后,我們可以使用命令行參數(shù)的形式,啟動項(xiàng)目的時(shí)候來指定配置文件的新位置;
指定配置文件和默認(rèn)加載的這些配置文件共同起作用形成互補(bǔ)配置;
java -jar hello_springboot-0.0.1-SNAPSHOT.jar --spring.config.location=D:/application.properties
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Springboot主配置文件解析
- SpringBoot配置文件注入值的簡單實(shí)現(xiàn)
- 對SpringBoot項(xiàng)目配置文件進(jìn)行加密實(shí)現(xiàn)過程
- Springboot配置文件加密方式
- SpringBoot整合Jasypt實(shí)現(xiàn)配置文件和數(shù)據(jù)庫字段敏感數(shù)據(jù)的加解密
- 零基礎(chǔ)全面解析SpringBoot配置文件(結(jié)合驗(yàn)證碼案例)
- springboot加載外部配置文件實(shí)踐(properties、yml)
- springboot啟動讀取外部配置文件實(shí)現(xiàn)方式
相關(guān)文章
Springboot自定義注解&傳參&簡單應(yīng)用方式
SpringBoot框架中,通過自定義注解結(jié)合AOP可以實(shí)現(xiàn)功能如日志記錄與耗時(shí)統(tǒng)計(jì),首先創(chuàng)建LogController和TimeConsuming注解,并為LogController定義參數(shù),然后,在目標(biāo)方法上應(yīng)用這些注解,最后,使用AspectJ的AOP功能,通過切點(diǎn)表達(dá)式定位這些注解2024-10-10
Java實(shí)現(xiàn)pdf轉(zhuǎn)圖片案例
這篇文章主要介紹了Java實(shí)現(xiàn)pdf轉(zhuǎn)圖片案例,按照步驟放置代碼,一步步完成該案例,將代碼部署便可,需要的朋友可以參考下2021-06-06
Java數(shù)據(jù)結(jié)構(gòu)之常見排序算法(下)
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之常見排序算法(下),與之相對有(上),想了解的朋友可以去本網(wǎng)站掃搜,在這兩篇文章里涵蓋關(guān)于八大排序算法的所有內(nèi)容,需要的朋友可以參考下2023-01-01
Javaweb-HttpServletResponse的sendRedirectch重定向方式
這篇文章主要介紹了Javaweb-HttpServletResponse的sendRedirectch重定向方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09

