2.基于注解的自动装配

1. Autowired作用

  在成员变量上直接标记\(@Autowired\)注解即可完成自动装配,不需要提供\(setXxx()\)方法。

2. Autowired使用的位置

(1) 标识在成员变量上,此时不需要设置成员变量的set方法
(2) 标识在\(set\)方法上
(3) 标识在为当前成员变量的构造函数上

3. Autowired实现原理

(1) 默认通过\(byType\)的方式,在IOC容器中通过类型匹配某个\(bean\)为属性赋值
(2) 流程图,如果有多个类型匹配的\(bean\),就会转换为\(byName\)的方式
image
(3) 如果\(byName\)也行不通,就使用@Qualifier("指定Bean的id")来指定一个\(Bean\).
(4) \(@Autowired\)中有属性\(required\),默认值为\(true\),因此在自动装配无法找到相应的bean时,会装配失败

4. 注意事项

(1) 如果IOC容器中没有一个类型匹配的Bean,此时会抛出异常NoSuchBeanDefinitionException

posted @ 2022-11-08 21:58  acmloser  阅读(54)  评论(0编辑  收藏  举报