首页 > Java基础 > Java中如何获取spring中配置文件.properties中属性值

Java中如何获取spring中配置文件.properties中属性值

2012年11月20日 发表评论 阅读评论

通过spring配置properties文件

  <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

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”);

除非注明,文章为IT热血青年原创,欢迎转载!转载请注明本文地址,谢谢。
本文地址:http://blog.itblood.com/java-to-get-the-value-of-the-spring-configuration-file.html

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.