Java中如何获取spring中配置的properties属性文件内容
3569 点击·0 回帖
![]() | ![]() | |
![]() | 1、通过spring配置properties文件 [java] <bean id="propertyConfigurer" class="com.tjsoft.base.util.CustomizedPropertyPlaceholderConfigurer"> <property name="ignoreResourceNotFound" value="true" /> <property name="locations"> <list> <value>/web-INF/config/jdbc.properties</value> <value>/WEB-INF/config/mail.properties</value> <value>/WEB-INF/config/system.properties</value> </list> </property> </bean> 其中class为自己定义的类 2、自定义类CustomizedPropertyPlaceholderConfigurer [java] 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; /** * 自定义PropertyPlaceholderConfigurer返回properties内容 * * @author LHY 2012-02-24 * */ public class CustomizedPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer { private static Map<String, Object> ctxPropertiesMap; @Override protected void processProperties( ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException { super.processProperties(beanFactoryToProcess, props); ctxPropertiesMap = new HashMap<String, Object>(); for (Object key : props.keySet()) { String keyStr = key.toString(); String value = props.getProperty(keyStr); ctxPropertiesMap.put(keyStr, value); } www.atcpu.com } public static Object getContextProperty(String name) { return ctxPropertiesMap.get(name); } } 这样就可以通过CustomizedPropertyPlaceholderConfigurer类来获取properties属性文件中的内容了 3、如何获取属性文件的内容 String host = (String) CustomizedPropertyPlaceholderConfigurer.getContextProperty("mail.smtp.host"); 作者:lhy030320999 | |
![]() | ![]() |