Servlet中使用@Autowired注解报错空指针问题

Servlet中使用@Autowired注解报错空指针问题

都2023年了,居然还能碰到这么远古的代码!!!

最近在修改某银行项目代码时遇到一个这样的问题,就是我定义的 Servlet 中用到了@Autowired 注解,但是运行项目时会报错空指针异常。

确定当前Servlet是加了 @Component 注解的,非常纳闷的是,被注入的那个类,在别处就注入成功了,唯独在当前这个 Servlet 中是空指针。

定位到是 Servlet 的问题后才查到原因所在,说是 Bean 都是归 Spring 容器管理的,但是 Servlet 单独有一个容器,归 Tomcat 管理,所以这样注入是有问题的。于是在重写 init() 方法里加上如下配置就好了。

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

然后就可以愉快的使用 @Autowired 注解啦。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝带915

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值