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);
分类:
Spring
标签:
Spring问题记录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)