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";
        }


  • 相关阅读:
    vue中的具名插槽
    vue中默认插槽slot
    局部组件使用指令-方法-过滤器-计算属性
    vue创建局部组件
    Class Metaprogramming
    Attribute Descriptors
    Dynamic Attributes and Properties
    Concurrency with asyncio
    Concurrency with Futures
    Coroutines
  • 原文地址:https://www.cnblogs.com/shz365/p/5381968.html
Copyright © 2011-2022 走看看