通过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 boot引入外部配置文件yml,properties