@Autowired
注解出现的位置 AutoWired的代码 常用的就是写类上和方法上。 运行测试,刚才运行是一个空指针异常 也就是通过Autowired 这个accountDao这个对象不为空了。
注入成功原理
自动按照类型注入。IAccountDao去Spring的容器里面直接找的Value值
如果把实现类继承接口IAccountDao这里代码注释掉的话 再次运行就发现注不进去报错。 假设容器中两个实现类 复制一份改个名字 id后面也加上2 第一个实现的实现接口的代码 注释 放开 现在的容器中不止一个dao了,这样就面临着不止一个匹配值的情况、 错误:预期有唯一 一个类可以注入进来。但是发现了两个dao实现类 把变量名称后面加上1 变量名称改成2 多个,先按照类型圈定出来要匹配的对象,接下来使用变量名称作为bean的id,在圈定出来的这两个里面继续查找。如果有id一样的就注入成功。 没有一样的就报错。