在使用spring框架注解的时候,不能在通过new 关键字去实例化全局变量。如果两者并存的情况下,spring注入对象会失败,相应的引用会为空,后台就会报空指针异常
比如这种情况:
DeptServiceImpl deptService =new DeptServiceImpl();
@Autowired
private Mapper mapper;
这个时候服务器都不能正常运行,显示注入bean对象失败
异常情况
如果这个时候把自己的new的对象使用static 关键字修饰那么服务器可以正常运行
但是这个时候自动注入的mapper就已经失效了,在访问接口的时候使用到mapper就直接空指针了
这个时候在请求接口
所以要使用spring自动注入那么就不要自己去实例化,否则spring会不高兴。讲好让别人来做,你又要自己来干预。人家就会报错。
正解:
@Autowired
private DeptServiceImpl deptService ;
@Autowired
private Mapper mapper;
使用spring注解@Autowired,又new对象会使注解失效
最新推荐文章于 2024-06-09 21:45:58 发布