/**
* 应用完全启动后, Spring执行自定义初始化 此处初始化避免了初始化static时 bean还没注入的问题
*/
spirng mvc xml 文件
<!-- spring环境都初始化完成后执行的一些操作 -->
<bean id="instantiationListener" class ="com.xxx.xxx.web.base.InstantiationListener" />
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
/**
* 应用完全启动后, Spring执行自定义初始化 此处初始化避免了初始化static时 bean还没注入的问题
*/
public class InstantiationListener implements InitializingBean {
private static final Logger logger = LoggerFactory.getLogger(InstantiationListener.class);
@Autowired
private WechatAccessTokenService wechatAccessTokenService;// 这里注入不会有生存周期的问题
// ==>继承于InitializingBean 的afterPropertiesSet()方法是初始化方法.
@Override
public void afterPropertiesSet() {
try {
System.out.println("init.....初始化微信获取accessToken service....");
JwTokenAPI.wechatAccessTokenService = wechatAccessTokenService; //JwTokenAPI类的静态属性是wechatAccessTokenService
} catch (Exception e) {
logger.error("初始化微信获取accessToken service [wechatAccessTokenService] 异常");
}
}
}