首页 > 技术文章 > 在servlet中使用@Autowired注解无法注入实例的问题

mars-zyt 2017-12-27 13:33 原文

今天在项目中碰到了一个奇怪的问题,原来的servlet中使用了HttpsWxService httpsWxService = new HttpsWxService()这一句代码,然后再HttpsWxService中注入了一个serviceImpl,接在在serviceImpl中注入了一个mybatis操作的dao接口,然后启动项目运行时发现httpsWxService 里面没有注入serviceImpl,于是serviceImpl不通过注入直接new出来,启动运行发现httpsWxService 里面注入了serviceImpl,但是serviceImpl里面没有注入dao,此时问题来了dao是一个接口无法直接new。原因是因为直接new的对象里面的属性是无法自动注入的。于是决定不使用HttpsWxService httpsWxService = new HttpsWxService(),在servlet中使用注解的方式来注入。但是突然发现在servlet中是无法直接注入的,需要在servlet中加入以下代码就可以了。

public void init(ServletConfig config) throws ServletException {
SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,
config.getServletContext());
}

 

 

http://blog.csdn.net/l1028386804/article/details/45696707

推荐阅读