我正在尝试在我的自定义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)。
答案 0 :(得分:1)
我建议使用WebApplicationContext方法查找bean,然后调用。
WebApplicationContext servletContext = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());
bean = (MyBeanClass) servletContext.getBean("myBeanClass");
bean.yourMethod();
使用更系统......:)