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


  • 相关阅读:
    CentOS
    Docker
    Chart的简单使用
    DataGridView中间插入数据行
    获取每个月的固定的第n个星期几
    设置只能开启一个程序实例
    DataContext与实体类
    Attribute
    Delegate
    Event
  • 原文地址:https://www.cnblogs.com/shz365/p/5381968.html
Copyright © 2011-2022 走看看