ProjectPropertyPlaceholderConfigurer.java import java.util.HashMap;import java.util.Map;import java.util.Properties;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.ConfigurableListableBeanFact
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; /** * 项目配置文件加载类 * @author wuqx * */ public class ProjectPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer { private static MapProjectPropertiesUtil.javactxPropertiesMap; @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); } } /** * 获取配置信息 * @param name * @return */ public Object getContextProperty(String name) { return ctxPropertiesMap.get(name); } }
import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; @Component(value = "projectPropertiesUtil") public class ProjectPropertiesUtil implements ApplicationContextAware { public static final String KEY = "propertyConfigurer"; private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext context) throws BeansException { applicationContext = context; } public static ApplicationContext getApplicationContext() { return applicationContext; } /** * 获取配置文件中的内容 * * @param keyName * @return */ public String getProperty(String keyName) { ProjectPropertyPlaceholderConfigurer configure = (ProjectPropertyPlaceholderConfigurer) applicationContext.getBean(KEY); return configure.getContextProperty(keyName).toString(); } }