最近在做一个aop测试时想使用servlet进行测试,在servlet中用了@Autowired 程序一致报如下错误
java.lang.NullPointerException
com.lbs.aop.AopTestServlet.doGet(AopTestServlet.java:46)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)这个问题折磨了我好长时间一直以为配置的自动扫描有错误,后来发现servlet和filter是不受spring容器管理的,如果需要在servlet中进行注入需要进行如下配置
public void init(ServletConfig config) throws ServletException
{
SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this, config.getServletContext());
} 添加此初始化方法后就可以使用
@Autowired
private AopProxy aopProxy;
本文介绍了解决在Servlet中使用@Autowired注解时遇到的NullPointerException问题的方法。通过在Servlet的init方法中添加特定的Spring配置,使得Servlet能够正确地被Spring容器管理并完成依赖注入。

被折叠的 条评论
为什么被折叠?



