spring自动装配常用注解
@Autowired
字段 | 取值 | 作用 |
---|---|---|
required | true或flase | 没有找到匹配的 Bean,并且没有设置required = false,则会抛出异常 |
- 为spring框架注解,用于字段、方法和构造函数上。
- 先根据类型(变量类型)进行装配,如果找到多个匹配的 Bean,再根据名称(变量名称)进行匹配。如果没有找到匹配的 Bean,并且没有设置required = false,则会抛出异常。
- 可与@Qualifier、@Primary注解配合使用,优先级:@Qualifier的value字段>@Primary标注>变量名称
@Resource
字段 | 取值 | 作用 |
---|---|---|
type | Class类型 | 需要注入bean的Class类型 |
name | 字符串类型 | 需要注入bean的名称 |
- 是jdk注解,推荐使用,用于字段和方法上。
- 如果name字段不为空,根据名称(name字段)进行装配,找不到会抛出异常。再根据名称(变量名称)进行装配。如果找不到匹配的名称,再根据类型(type字段)进行装配;如果找到匹配的名称,且type字段不为空,将这两者进行比较,不对应会抛出异常。如果都找不到匹配的 Bean,则会抛出异常。
- 可与@Primary注解配合使用,优先级:@Resource的name字段>变量名称>@Primary标注
@Primary
- 用于在自动装配时指定首选的Bean。
@Qualifier
- value字段用于指定名称。