Java中如何获取spring中配置的properties属性文件内容

2014-11-24 08:22:14 · 作者: · 浏览: 1

1、通过spring配置properties文件

[java]
class="com.tjsoft.base.util.CustomizedPropertyPlaceholderConfigurer">



/WEB-INF/config/jdbc.properties
/WEB-INF/config/mail.properties
/WEB-INF/config/system.properties



其中class为自己定义的类

2、自定义类CustomizedPropertyPlaceholderConfigurer

[java]
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;

/**
* 自定义PropertyPlaceholderConfigurer返回properties内容
*
* @author LHY 2012-02-24
*
*/
public class CustomizedPropertyPlaceholderConfigurer extends
PropertyPlaceholderConfigurer {

private static Map ctxPropertiesMap;

@Override
protected void processProperties(
ConfigurableListableBeanFactory beanFactoryToProcess,
Properties props) throws BeansException {
super.processProperties(beanFactoryToProcess, props);
ctxPropertiesMap = new HashMap();
for (Object key : props.keySet()) {
String keyStr = key.toString();
String value = props.getProperty(keyStr);
ctxPropertiesMap.put(keyStr, value);
} www.2cto.com
}

public static Object getContextProperty(String name) {
return ctxPropertiesMap.get(name);
}

}


这样就可以通过CustomizedPropertyPlaceholderConfigurer类来获取properties属性文件中的内容了

3、如何获取属性文件的内容

String host = (String) CustomizedPropertyPlaceholderConfigurer.getContextProperty("mail.smtp.host");
作者:lhy030320999