獲取properties或者yaml配置檔案值

2021-10-06 06:43:58 字數 1853 閱讀 5006

在專案中,獲取配置檔案中的值有如下幾種方法:

1.在工具類中獲取,寫乙個工具類,在工具類中指定配置檔名。這種情況網上很多部落格都是這種操作,太low,太不靈活,如果存在多環境的配置檔案,就不能用該方法。

2.使用@value(value = "$")。可取,使用這這方法前提是所在的類需要增加spring註解。如果需要在工具類或者不新增註解的類中則無法使用該方法。

3.繼續使用@value(value = "$")方法,但是需要封裝該註解類。(推薦,不分場景,不指定配置檔名)。

首先,我們需要乙個獲取bean的工具。

package com.example.demo.utils;

import org.springframework.beans.bean***ception;

import org.springframework.stereotype.component;

/** * 獲取載入在spring中的bean物件

*/@component

@override

}return context;

}}

其次,我們還需要乙個獲取properties檔案的工具類,並把這個類在啟動時交給spring管理,該方法將上面提到的方法2進行封裝,方便在工具類中不新增註解。

package com.example.demo.utils;

import org.springframework.context.embeddedvalueresolveraware;

import org.springframework.stereotype.component;

import org.springframework.util.stringutils;

import org.springframework.util.strin**alueresolver;

/** * 獲取配置資訊檔案工具

*/@component

public class propertiesutil implements embeddedvalueresolveraware

/*** 獲取配置資訊

* @param key 配置檔案中key

* @return

*/public string getpropertiesvalue(string key)

stringbuffer buffer = new stringbuffer();

string value = this.strin**alueresolver.resolvestrin**alue(buffer.tostring());

return value;

}}

最後,我們封裝乙個獲取配置資訊的工具類

package com.example.demo.utils;

import org.springframework.util.stringutils;

/** * 獲取配置檔案中配置資訊

*/public class properties

/*** 獲取配置檔案資訊,當資訊為空,則返回預設值

* @param key 配置檔案中key

* @param defaultvalue 預設值

* @return string

*/public static string getproperty(string key, string defaultvalue)

}

完成。

即可使用這種方式進行獲取

properties.getproperty("name");

通過Spring獲取properties檔案屬性值

spring提供了註解 value,用於在程式中獲取properties配置檔案屬性值。例如 當有多個配置檔案時,上述配置可以配置多條。2.spring bean中使用 value註解獲取指定引數。properties配置項 server.ip 192.168.1.1 server.port 808...

jsp中獲取properties檔案內容

如果專案中使用了struts,則有以下兩種方式 1.在struts config.xml裡配置資源檔案的 比如資源檔案叫resources.properties key labels null false key 你可以不定義 定義則在頁面顯示 不定義則 在頁面顯示 後面又找到一種方法 可以建立乙個...

獲取properties檔案中的值

比如 vertexiumconf.properties 就可以用這個方法進行獲取 properties properties new properties inputstream in vertexiumconfig.class.getclassloader getresourceasstream ...