<!-- @Autowired原理:
@Autowired:Spring会自动的为这个属性赋值;
一定是去容器中找到这个属性对应的 组件
@Autowired
private BookService bookService;
1)、先按照类型去容器中找到对应的组件:bookService = ioc.getBean(BookService.class);
1)、找到一个,找到就 赋值
2)、没找到:抛异常
3)、找到多个?装配上?
1)、按照变量名作为id继续匹配 :BookService(bookService) BookServiceExt(bookServiceExt)
@Autowired
private BookService bookServiceExt2;
1)、匹配上?
2)、没有匹配?报错
原因:因为我们按照变量名作为id继续匹配的;
使用@Qualifier("id"):指定一个名作为id,让Spring别使用变量名
1)、找到,装配
2)、找不到,报错
发现Autowired标注的自动装配的属性默认是一定装配上的:
找到就装配,找不到就拉倒
--><!-- @Autowired,@Resource,@Inject:都是自动装配的意思;
@Autowired:最强大的;Spring自己的注解
@Resource:j2ee;java的标准
@Inject:EJB
@Resource:扩展性更强;如果切换成另外一个容器框架,@Resource还是可以使用的,@Autowired就不行
-->