内部自动化内容上下文监听器的初始化方法

时间:2012-03-16 13:27:39

标签: spring-mvc tomcat autowired bootstrapping

我正在尝试在我的自定义Context Listener类的contextInitialized()方法中自动装配我的bean,但是它无效。

public class CustomContextListener extends ContextLoaderListener {
    @Autowired
    private MyBeanClass bean;

    @Override
    public void contextInitialized(javax.servlet.ServletContextEvent event) {
          super.contextInitialized(event);
          //call to my method.
          bean.mymethod();
}

但是这里它没有得到自动装配,我得到了MyBeanClass引用的null对象。 如何在tomcat启动时自动装配一个类。 请提供备用的地方,我可以在服务器启动时使用自动装配执行一些代码(这里是tomcat)。

1 个答案:

答案 0 :(得分:1)

我建议使用WebApplicationContext方法查找bean,然后调用。

WebApplicationContext servletContext =  WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());

bean = (MyBeanClass) servletContext.getBean("myBeanClass");
bean.yourMethod();

使用更系统......:)