通过spring配置properties文件
1 2 3 4 5 6 7 8 9 | <bean id= "propertyConfigurer"
class = "com.hapishop.util.ProjectDBinfoConfigurer" >
<property name= "ignoreResourceNotFound" value= "true" />
<property name= "locations" >
<list>
<value>/WEB-INF/config/dbinfo.properties</value>
</list>
</property> </bean> |
其中class为自己定义的类
自定义类ProjectDBinfoConfigurer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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; /**
* 自定义ProjectDBinfoConfigurer返回properties内容
* @ClassName: ProjectDBinfoConfigurer
* @Description: TODO (请用一句话描述该类做什么)
* @author ZhangYQ iitshare@itblood.com
* @date: 2012-11-20 下午11:48:32
*/ public class ProjectDBinfoConfigurer 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);
}
}
public static Object getContextProperty(String name) {
return ctxPropertiesMap.get(name);
} } |
这样就可以通过ProjectDBinfoConfigurer类来获取properties属性文件中的内容了
如何获取属性文件的内容
String url= (String) ProjectDBinfoConfigurer.getContextProperty(“jdbc.url”);
摘自 : http://blog.itblood.com/java-to-get-the-value-of-the-spring-configuration-file.html