Java springboot探究配置文件優(yōu)先級(jí)
一、前言
在springboot項(xiàng)目中,我們可以通過在yml文件中設(shè)置變量,再通過@Value注解來獲得這個(gè)變量并使用,但如果這個(gè)項(xiàng)目已經(jīng)部署到服務(wù)器上,我們想更改這個(gè)數(shù)據(jù)了需要怎么做呢,難道要為了一個(gè)配置文件中的變量重新打包部署一遍嗎?這樣顯然不太合理,其實(shí)在springboot項(xiàng)目中,配置文件是有優(yōu)先級(jí)的。
二、測(cè)試前準(zhǔn)備
首先我們需要一個(gè)springboot項(xiàng)目,并在yml文件中設(shè)置一個(gè)變量

然后我們編寫一個(gè)controller去獲取這個(gè)變量,并在頁面中返回這個(gè)數(shù)據(jù)

測(cè)試一下這個(gè)接口

沒有問題,那么接下來就模擬一下部署
三、模擬部署測(cè)試
我們通過maven將項(xiàng)目打包


找到我們jar包的位置

通過java -jar在本地啟動(dòng)一下這個(gè)項(xiàng)目

訪問頁面,訪問成功

接下來我們的需求有變動(dòng),這個(gè)數(shù)值需要變更到200了,我們?cè)撛趺醋瞿兀?/p>
首先在idea中更改Yml文件

然后將這份新的yml文件復(fù)制到j(luò)ar包的相同路徑下

我們?cè)僦匦聠?dòng)項(xiàng)目并訪問頁面

可以看到返回值如我們所愿變成了200,到這里我們可以得出結(jié)論,我哦們可以通過在jar包的同級(jí)目錄下創(chuàng)建一個(gè)新的配置文件來覆蓋之前的配置文件,也就是配置文件是有優(yōu)先級(jí)的,那么還有比這更高的優(yōu)先級(jí)嗎?
當(dāng)然有,在同級(jí)目錄創(chuàng)建一個(gè)config文件

把配置文件的value改為300

把這份配文件放入config中

重啟并訪問

四、總結(jié)
做個(gè)總結(jié)就是我們通過上面的步驟可以發(fā)現(xiàn)
springboot項(xiàng)目中配置文件的優(yōu)先級(jí):config文件夾中的配置文件 > 同級(jí)配置文件 > jar包中的配置文件
到此這篇關(guān)于Java springboot探究配置文件優(yōu)先級(jí)的文章就介紹到這了,更多相關(guān)Springboot配置文件優(yōu)先級(jí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shiro整合Springboot和redis,jwt過程中的錯(cuò)誤shiroFilterChainDefinition問
這篇文章主要介紹了Shiro整合Springboot和redis,jwt過程中的錯(cuò)誤shiroFilterChainDefinition問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
Java重入鎖(ReentrantLock)從入門到源碼深度解析
本文給大家介紹Java重入鎖(ReentrantLock)從入門到源碼深度解析,通過本文學(xué)習(xí)可以全方位地認(rèn)識(shí)ReentrantLock,從基本概念到高級(jí)特性,從使用方式到源碼剖析,從底層原理到實(shí)際應(yīng)用,感興趣的朋友跟隨小編一起看看吧2026-02-02
Java的優(yōu)先隊(duì)列PriorityQueue原理及實(shí)例分析
這篇文章主要介紹了Java的優(yōu)先隊(duì)列PriorityQueue原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
如何解決通過spring-boot-maven-plugin package失敗問題
這篇文章主要介紹了如何解決通過spring-boot-maven-plugin package失敗問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Springboot結(jié)合Junit單元測(cè)試的實(shí)現(xiàn)
Spring Boot框架通過整合JUnit,為開發(fā)者提供了便捷的單元測(cè)試支持,本文就來介紹Springboot結(jié)合Junit單元測(cè)試的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-03-03
java中動(dòng)態(tài)代理的實(shí)現(xiàn)
本篇文章主要介紹了Java中兩種動(dòng)態(tài)代理的實(shí)現(xiàn):jdk動(dòng)態(tài)代理;cglib動(dòng)態(tài)代理。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01
JavaEE開發(fā)基于Eclipse的環(huán)境搭建以及Maven Web App的創(chuàng)建
本文主要介紹了如何在Eclipse中創(chuàng)建的Maven Project,本文是JavaEE開發(fā)的開篇,也是基礎(chǔ)。下面內(nèi)容主要包括了JDK1.8的安裝、JavaEE版本的Eclipse的安裝、Maven的安裝、Tomcat 9.0的配置、Eclipse上的M2Eclipse插件以及STS插件的安裝。2017-03-03
詳解為什么阿里巴巴禁止使用BigDecimal的equals方法做等值比較
這篇文章主要介紹了詳解為什么阿里巴巴禁止使用BigDecimal的equals方法做等值比較,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

