Java中如何获取spring中配置文件.properties中属性值
通过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