主要是由于监听器是由servlet容器管理,而spring容器管理的bean时机应该在servlet容器的前面启动
1,WebApplicationContextUtils类取service实列,在监听器中注解注入是空指针异常的,需要使用WebApplicationContextUtils类的方法取业务层的实列对象,
//取service对象
service实列类型 dicTypeService = WebApplicationContextUtils.getWebApplicationContext(servletContextEvent.getServletContext()).getBean(service实列类型.class);
2,在web.xml中把spring监听器的初始化放在此监听器的上面,即可解决