ServletContextListener中Autowired注入bean对象为null

279 阅读1分钟

如果在项目启动时需要在ServletContextListener中注入bean对象或者读取Springboot的yaml配置文件属性,由于beanFactory此时还没加载,所以注入或读取到的对象为null

可以用如下方法解决:

@Override

public void contextInitialized(ServletContextEvent event) {

  WebApplicationContextUtils.getRequiredWebApplicationContext(event.getServletContext())

    .getAutowireCapableBeanFactory().autowireBean(this);

}

即:在contextInitialized方法中添加上述代码块