运行出现了空指针异常


注解出现的位置

AutoWired的代码

常用的就是写类上和方法上。

运行测试,刚才运行是一个空指针异常

也就是通过Autowired 这个accountDao这个对象不为空了。

注入成功原理

自动按照类型注入。IAccountDao去Spring的容器里面直接找的Value值

如果把实现类继承接口IAccountDao这里代码注释掉的话

再次运行就发现注不进去报错。


假设容器中两个实现类


复制一份改个名字

id后面也加上2

第一个实现的实现接口的代码 注释 放开

现在的容器中不止一个dao了,这样就面临着不止一个匹配值的情况、
错误:预期有唯一 一个类可以注入进来。但是发现了两个dao实现类


把变量名称后面加上1

变量名称改成2

多个,先按照类型圈定出来要匹配的对象,接下来使用变量名称作为bean的id,在圈定出来的这两个里面继续查找。如果有id一样的就注入成功。
没有一样的就报错。


 

相关文章:

  • 2021-07-31
  • 2022-03-02
  • 2021-09-01
  • 2021-05-18
  • 2021-07-18
  • 2021-12-11
  • 2021-10-19
  • 2021-11-27
猜你喜欢
  • 2021-08-27
  • 2022-01-19
  • 2021-11-28
  • 2021-11-25
  • 2021-12-17
  • 2021-08-31
  • 2021-07-22
相关资源
相似解决方案