[email protected]注解应用规则? @Qualifier注解的作用是什么?
1) @Autowired注解应用规则?
2) @Qualifier注解的作用是什么?
@Qualifier注解 一个接口有两个或多个实现类时,需要指定类型(自己的理解)
@Autowired由spring框架定义,用于描述类中属性或相关方法(例如构造方法)。
Spring框架在项目运行时假如发现由他管理的Bean对象中有使用@Autowired注解描述的属性或方法,可以按照指定规则为属性赋值(DI)。
其基本规则是:首先要检测容器中是否有与属性或方法参数类型相匹配的对象,假如有并且只有一个则直接注入。
其次,假如检测到有多个,还会按照@Autowired描述的属性或方法参数名查找是否有名字匹配的对象,有则直接注入,没有则抛出异常。
最后,假如我们有明确要求,必须要注入类型为指定类型,名字为指定名字的对象还可以使用@Qualifier注解对其属性或参数进行描述(此注解必须配合@Autowired注解使用)。