005Spring问题记录001Autowired注入失败

1 问题重现

在做一个小项目,想要在一个普通的动态Web工程中使用Spring,但是在Controller层获取Service层的组件时,抛出了空指针异常。

查询资料发现,普通的动态Web工程中的Servlet、Filter、Listener都不能使用注解获取组件,原因是在WebServer容器中,无论是Servlet,还是Filter或者Listener,这些组件都不是Spring容器管理的,因此不能在这些类中直接使用Spring注解的方式来注入需要的组件。

2 解决办法

改为从Spring的上下文中获取注入的组件:

1 ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(request.getServletContext());
2 UserService userService = context.getBean(UserService.class);

 

posted @   执笔未来  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示