zoukankan      html  css  js  c++  java
  • Java中如何获取spring中配置的properties文件内容

    有2种方式:

    一。

    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); 
            }  
        } 
     
        public static Object getContextProperty(String name) { 
            return ctxPropertiesMap.get(name); 
        } 
     
    }  
    这样就可以通过CustomizedPropertyPlaceholderConfigurer类来获取properties属性文件中的内容了

    3、如何获取属性文件的内容

    String host =  (String) CustomizedPropertyPlaceholderConfigurer.getContextProperty("mail.smtp.host");

  • 相关阅读:
    找回感觉的练习
    第四次博客作业-结对项目
    zookeeper启动脚本
    docker自己制作centos7-jdk1.8-tomcat8
    Docker运行springboot的项目
    从list中模糊查询字符串
    Java实现文件下载
    hadoop的HA集群搭建
    oauth2 feign 报401的错误
    SpringBoot mybatis 自定义分页插件 注解版
  • 原文地址:https://www.cnblogs.com/shz365/p/6952193.html
Copyright © 2011-2022 走看看