国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Springboot引用外部配置文件的方法步驟

Springboot引用外部配置文件的方法步驟

2021-07-30 11:12月未明 Java教程

這篇文章主要介紹了Springboot引用外部配置文件的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

現在的項目越來越多的都是打包成jar運行尤其是springboot項目,這時候配置文件如果一直放在項目中,每次進行簡單的修改時總會有些不方便,這里我們看下打包成jar之后,從外部配置文件中讀取配置信息。

首先想到的是通過java代碼讀取外邊某個路徑下的文件,但是開始做之后發現好多問題。后來又找其它解決方案,正好搜到一種簡單的解決方式:

?
1
java -jar demo.jar --dspring.config.location=myapplication.properties

這樣就可以通過@value注解讀取myapplication.properties中的配置信息了。(上邊的大寫d好像可以不寫的)

后來想著直接把spring.config.location寫到application.properties配置文件中,然后指定一個固定的外部配置文件來獲取信息,這樣啟動的時候就可以不用加最后一行了。

?
1
spring.config.location=c:\\users\\administrator\\git\\display\\host.properties

可是這種方式是行不通的,比如我配置文件中有下面信息:

?
1
myname=hellopangkunkun

代碼:

?
1
myname=hellopangkunkun

我在啟動的時候直接報這個地方的錯誤,說是無法找到myname,導致整個項目出異常。

后來搜了下文章,對比官網文檔,又得到了一些信息:

24.3 application property files
springapplication will load properties from application.properties files in the following locations and add them to the spring environment:

a /config subdirectory of the current directory.
the current directory
a classpath /config package
the classpath root
the list is ordered by precedence (properties defined in locations higher in the list override those defined in lower locations).

這里說了四種方式可以把配置文件放到外部的。
第一種是在jar包的同一目錄下建一個config文件夾,然后把配置文件放到這個文件夾下;
第二種是直接把配置文件放到jar包的同級目錄;
第三種在classpath下建一個config文件夾,然后把配置文件放進去;
第四種是在classpath下直接放配置文件。

這四種方式的優先級是從一到四一次降低的。

注: 一二兩種方案其實不是jar包的同級目錄,而是(執行啟動指令的)同級目錄。為了便于理解我把上面的當前目錄說成jar包的同級目錄,這種說法并不對。如果是剛開始接觸或者調試這塊,還是在jar包同級目錄方便。

由于我們是要從外部讀取文件,所以直接說前兩種。

看下文件目錄結構:

Springboot引用外部配置文件的方法步驟

這里的application.properties是我們的配置文件,config是創建的另外一個目錄,放的也是application.properties。

display-1.0-snapshot.jar中可以包含application.properties配置文件也可以不包含。

為了驗證可以在config中設置myname=name1,jar同級目錄中設置myname=name2,如果jar中包含配置文件,將其中設置成myname=name3。

直接使用指令啟動:

?
1
java -jar display-1.0-snapshot.jar

之后驗證可得知,我們通過@value(“${myname}”)獲取到的myname的值是name1,把config下的配置文件刪除后獲取的結果是name2,都刪除后才會獲取jar包中配置文件的數據name3。

另外如果我們想要想配置測試、開發、生產環境一樣使用另外一個配置文件怎么來實現呢?

下面繼續,我把application.properties的信息修改如下:

?
1
spring.profiles.active=dev,host

配置文件目錄結構:

Springboot引用外部配置文件的方法步驟

我又新增了一個名為application-host.properties的配置文件,同理也可以把這個文件考出來放到jar包外面,同級目錄或者config下。

這樣項目啟動之后dev配置文件和host配置文件都會生效。

Springboot引用外部配置文件的方法步驟

這里為了突出其他的配置文件我只把host的拷出來了,dev的還是在jar包里,application.properties配置文件放在jar中也一樣,我們需要的主要是host的配置文件。

這樣每次修改的時候只需要修改配置文件信息,然后重啟項目就好,不需要重新打包。

如果想要只修改配置文件,不重啟項目就能生效,可以考慮用java來讀取配置文件中的數據,把它當作一個普通文件來讀取,或者寫到其他數據庫中也行。上面這些方案已經能夠滿足我的需求了,所以其他的不在做了。

最后提個問題,也是我沒弄明白的,希望知道的各位能夠給個答案:

我把spring.config.location這個配置寫到配置文件中為什么沒有生效?

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/qq_35981283/article/details/77583073#commentBox

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩在线免费 | 亚洲狼人 | 蜜桃视频一区二区 | 精品96久久久久久中文字幕无 | 久久精品无码一区二区三区 | av在线免费观看一区二区 | 免费av大全 | 超级黄色毛片 | 日韩精品久久久久久 | 成人免费一区二区三区视频软件 | 日韩电影中文字幕 | 国产区精品 | 国产中文字幕在线看 | 亚洲欧美国产精品专区久久 | 国产一区二区视频在线观看 | 福利视频在线播放 | 丁香伊人 | 国产一区二区三区免费观看 | 精品一区亚洲 | 免费a级毛片在线看 | 中文字幕一区二区三区乱码图片 | 黄色免费电影网站 | 黄色影片免费观看 | 自拍偷拍小视频 | 中文字幕在线电影观看 | 国产欧美精品一区 | av网站免费看 | 美女久久久久 | 日韩一二区视频 | 欧美亚洲国产日韩 | 中文字幕一区二区三区四区五区 | 天天爽天天干 | 黄色免费在线观看网址 | 国产精品18久久久 | 精品视频免费观看 | 伊人网站| 国产精品免费在线 | 国产精品一区二区三区免费 | eeuss国产一区二区三区四区 | 午夜一级片 | 国产欧美综合一区二区三区 |