再servlet用@Autowired 注入service参数,会报空指针,注入的bean找不到。这是因为我们的bean都是归spring容器管理的,但是servlet单独有一个容器,归tomcat管理,所以这样注入是有问题的。
在网上找了好几种方法,都有问题,后来找到一种最简单的。
在servlet中重写init方法
@Override
public void init(ServletConfig config) throws ServletException {
SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this, config.getServletContext());
}
然后再注入你需要的bean
@Autowired
private UserServiceDefault userDefaultService;
这样就可以用了