zoukankan      html  css  js  c++  java
  • web应用中对配置文件的包装

         <bean id="placeholderConfig" class="com.shz.utils.AdvancedPlaceholderConfigurer">
            <property name="locations">
                <list>
                    <value>classpath:init.properties</value>
                    <value>classpath:api.properties</value>                
                </list>
            </property>
        </bean>
        
         <bean id="systemProperties" class="java.util.HashMap" />

    public class AdvancedPlaceholderConfigurer extends PropertyPlaceholderConfigurer{

        @SuppressWarnings({ "unchecked", "rawtypes" })
        @Override
        protected void processProperties(
                ConfigurableListableBeanFactory beanFactoryToProcess,
                Properties props) throws BeansException {
            
            super.processProperties(beanFactoryToProcess, props);
            
            /******** Set the properties to initProperties object ********/
            HashMap<String, String> systemProperties = (HashMap<String, String>)beanFactoryToProcess.getBean("systemProperties");
            logger.info("starting to load configs into systemProperties object ...");
            Enumeration e = props.propertyNames();
            while (e.hasMoreElements()) {
                String key = (String) e.nextElement();
                systemProperties.put(key,  props.getProperty(key));
            }
            logger.info("finished to load configs into systemProperties object");
        }
        
    }

    public String openAgent(AgentInfoParams forexAgentInfoParams) {
            init();
            try {
                ApplicationContext context = MyContextLoaderListener.getApplicationContext();
                Map<String, String> systemProperties = (Map<String, String>) context.getBean("systemProperties");
                String to = systemProperties.get("constantNZ.forex_cs_agent");
            } catch (Exception e) {
                logger.error("error", e);
                return "ERROR:" + e.getMessage();
            }

            return "OK";
        }


  • 相关阅读:
    JAVA动态添加枚举值
    maven仓库配置
    AWS S3 上传下载文件
    golang http client的MaxConnsPerHost限制
    redis cli的特殊用法
    go调度: 第三部分-并发
    tcmalloc的memory heap profiler
    【流数据处理】MySql/PG/Oracle+Kafka+Flink(CDC捕获) 部署及实时计算
    【概念】详解MapReduce原理
    一次失败的创业经历
  • 原文地址:https://www.cnblogs.com/shz365/p/5381968.html
Copyright © 2011-2022 走看看