通过spring工厂读取property配置文件

Posted 倔强中前行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过spring工厂读取property配置文件相关的知识,希望对你有一定的参考价值。

/** 
 * Created by ywq on 2016/6/30. 
 */
@Named
public class PropertyConfig {    
	private static AbstractBeanFactory beanFactory = null;    
	private static final Map<String,String> cache = new oncurrentHashMap<>();    
	
	@Inject    
	public PropertyConfig(AbstractBeanFactory beanFactory) {        
		this.beanFactory = beanFactory;    
	}
    
	/**     
	 * 根据key获取配置文件的Value    
	 * @param key     * @return     
 	 */    
	public static String getProperty(String key) {
        	String propValue = "";
        	if(cache.containsKey(key)){
        	    propValue = cache.get(key);
        	} else {
        	    try {
                	propValue = beanFactory.resolveEmbeddedValue("${" + key.trim() + "}");
                	cache.put(key,propValue);
            	    } catch (IllegalArgumentException ex) {
                	ex.printStackTrace();
            	    }
                }
        	return propValue;
     	}
}
Spring xml的配置
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
        <property name="ignoreResourceNotFound" value="true"/>
        <property name="locations">
            <list>
                <value>classpath:props/${property-path}.properties</value>
                <value>classpath:important.properties</value>
            </list>
        </property>
    </bean>
 
在项目中使用
String maxTimeInSecondsProp = PropertyConfig.getProperty("maxTimeInSeconds");
 

以上是关于通过spring工厂读取property配置文件的主要内容,如果未能解决你的问题,请参考以下文章

spring注解注入properties配置文件

Spring Properties整理

单体Spring boot引入外部配置文件yml,properties

如何在spring中读取properties配置文件里面的信息

spring读取jdbc(file方式)

在Spring中读取properties文件