InitializingBean的应用

afterPropertiesSet是在KeyUtils 这个类初始化后执行的

package com.ymdd.galaxy.mobile.utils.param.init;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import com.ymdd.galaxy.mobile.utils.param.ParamNum;
import com.ymdd.galaxy.mobile.utils.param.ParamUrl;

@Component
public class KeyUtils implements InitializingBean {

    @Value("#{configproperties_disconf['bi_url']}")
    //@Value("${bi_url}")
    public String url;
    
    @Value("#{configproperties_disconf['AgentId']}")
    public String AgentId;
    
    @Value("#{configproperties_disconf['Secret']}")
    public String Secret;

    @Override
    public void afterPropertiesSet() throws Exception {
        // 移动BI的url地址
        ParamUrl.MOBILE_BI_URL = url;
        // 货量看板的url地址
        ParamNum.DISPLAY_URL = url;
        //企业微信应用ID
        ParamUrl.AGENTID = AgentId;
        //企业微信秘钥
        ParamUrl.SECTRT = Secret;
    }

}

通过动态从第disconf中获取url,agentID等,然后通过afterPropertiesSet方法赋值给常量类

package com.ymdd.galaxy.mobile.utils.param;

/**
 * @Author: GHK
 * @Description: BI数据url地址
 * @Date: 2017年12月4日 上午11:00:03
 */
public class ParamUrl {
    //访问BI的地址
    public static String MOBILE_BI_URL;
    //企业微信应用ID
    public static String AGENTID;
    //企业微信秘钥
    public static String SECTRT;
}

你可能感兴趣的:(InitializingBean的应用)