在spring加载完成后执行特定任务 , 支持注入引用

在某些情况下,有可能你会有这种需求:在Spring/SpringMVC项目中,当Spring/SpringMVC启动完成后,你需要执行一个方法来完成某些事件(比如创建网站地图,比如从订阅Redis服务器等),这个时候,可以使用Tomcat/Servlet容器提供的事件回调机制来完成,但是这样有个问题是:无法使用Spring提供的Annotation,解决方法是

import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Service;

/**在项目启动完成后执行
 * Created by h on 2017/3/9.
 */
@Service
public class MyListener implements ApplicationListener<ContextRefreshedEvent> {
    @Autowired
    private WeixinService weixinService;

    @Override
    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
        if(contextRefreshedEvent.getApplicationContext().getParent() == null){
            //需要执行的代码
            JSONObject  json= weixinService.getAccessToken();
            System.err.println("json="+json);
           
        }
    }
}}


原文地址:Spring/SpringMVC在启动完成后执行方法

http://www.cnblogs.com/itjcw/p/5977911.html

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐