解决自定义ServletContextListener运行时空指针异常的问题
空指针异常的原因:
因为在启动listener的时候还没有初始化bean工厂,所以无法使用Autowired注解注入
解决办法:
public class MyServletContextListener implements ServletContextListener {
@Autowired
IDicService dicService;
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("数据字典开始创建");
//加上这段话就可以使用Autowired注解了
WebApplicationContextUtils.getRequiredWebApplicationContext(sce.getServletContext()).getAutowireCapableBeanFactory().autowireBean(this);
}