Spring SpringMvc 3.0 + MyBatis 整合--補充關於.properties檔案的讀取
上篇文章中關於.propertis檔案的每條記錄在xml檔案裡面配置,如下圖
新方法: 專案啟動時候自動掃描.propertis裡面的每條內容到map中.
配置檔案:
<bean id="myPropertyConfigurer" class="com.ass.base.prop.MyPropertyConfigurer"> <property name="ignoreUnresolvablePlaceholders" value="true" /> <property name="locations"> <list> <value>/WEB-INF/config/config.properties</value> <value>/WEB-INF/config/system.properties</value> <value>/WEB-INF/config/approval.properties</value> </list> </property> </bean>
類:
package com.ass.base.prop; import java.util.HashMap; import java.util.Map; import java.util.Properties; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; public class MyPropertyConfigurer extends PropertyPlaceholderConfigurer { private Map<String, String> myPropertiesMap; @Override protected void processProperties(ConfigurableListableBeanFactory factory, Properties props) throws BeansException { super.processProperties(factory, props); myPropertiesMap = new HashMap<String, String>(); for (Object key : props.keySet()) { String keyStr = key.toString(); String value = props.getProperty(keyStr); myPropertiesMap.put(keyStr, value); } } public String getVal(String name) { return myPropertiesMap.get(name); } }
使用方式:
@Resource
private MyPropertyConfigurer myPropertyConfigurer;
/**
* 獲取properties檔案值的方法,通過key獲取value
* @param key
* @return
* @author wangt 2014年12月5日 上午9:11:39
*/
public String getProp(String key) {
return myPropertyConfigurer.getVal(key);
}