配置和讀取多個Properties檔案

2021-08-21 06:14:33 字數 2595 閱讀 7760

1. 使用

propertyplaceholderconfigurer

類載入乙個檔案時:

載入多個檔案時:

整合多工程下的多個分散的properties檔案

時:

其中order屬性代表其載入的順序

,如果沒有設定就按照載入

xml檔案時的順序,而

ignoreunresolvableplaceholders

為是否忽略不可解析的

placeholder

,如果配置了多個

propertyplaceholderconfigurer

,則該屬性必須設定且為true,否則

propertyconfigurerforproject2

的properties

檔案不會被載入

.注意事項:

(1)、

如果上面的dbquery.properties與

jdbc-parms.properties

檔案中有相同的引數配置名稱

,dbquery.properties中配置的引數值不會被後面的覆蓋

。(2)

、如果jdbc-parms.properties,base-config.properties彼此有相同引數名配置,j

dbc-parms.properties中的配置的值會被覆蓋

。2. 使用

propertiesfactorybean

使用propertiesfactorybean

,可在bean中直接注入

properties

配置檔案中的值

,配置如下:

這種載入方式可以在**中通過@value註解進行注入

,   

可以將配置整體賦給properties型別的類變數,也可以取出其中的一項賦值給

string

型別的類變數

。也可以使用

標籤,如:

標籤只能載入乙個檔案,當多個屬性檔案需要被載入的時候,可以使用多個該標籤

,<

util:properties/> 標籤的實現類是

propertiesfactorybean

,直接使用該類的

bean

配置,設定其

locations

屬性可以達到乙個和上面一樣載入多個配置檔案的目的

。在**中引用

properties

中的值如下:

將配置整體賦給properties型別的類變數

與propertyplaceholderconfigurer 不同的是

: propertyoverrideconfigurer

利用屬性檔案的相關資訊,覆蓋

xml

配置檔案中定義。即

propertyoverrideconfigurer

允許xml

配置檔案中有預設的配置資訊。

如果propertyoverrideconfigurer 的屬性檔案有對應配置資訊,則

xml

檔案中的配

置資訊被覆蓋

,否則,直接使用xml 檔案中的配置資訊。使用

propertyoverrideconfigurer 

屬性檔案的格式如下

: beanname.property=value 

beanname 是屬性佔位符企圖覆蓋的

bean

名, property

是企圖覆蓋的屬性名。例如:

容器自動註冊propertyoverriderbean,讀取

dbconn.properties

檔案中的屬性,並用於覆蓋目標

bean

的屬性。其配置檔案中

datasourcebean

的屬性完全是隨意輸入的,最終被屬性檔案的配置覆蓋,其屬性檔案如下

注意屬性檔案的格式必須是

:beanname.property=value  

如何在spring中讀取properti

恩,不錯,謝謝分享 如何在spring中讀取properties屬性檔案裡面的資訊 waiwai 一般來說。我們會將一些配置的資訊放在。properties檔案中。然後使用 將配置檔案中的資訊讀取至spring的配置檔案。那麼我們如何在spring讀取properties檔案呢。1.首先。我們要先在...

Java實現動態載入讀取properties檔案

問題 當我們使用如下語句載入.properties時 classloader classloader this.getclass getclassloader properties prop new properties 會發現修改了.properties後,即使重新執行,讀入的仍為修改前的引數。此...

canal正則配置讀取多個庫表

canal conf example instance.properties 檔案中配置正則匹配多個庫表。table regex canal.instance.filter.regex 155 155 cms measurementvalues canal.mq.partition 0canal.m...