SpringBoot注解:@Autowired和@Resource区别

@Autowired和@Resource区别

基本功能:将Spring容器中的对象注入到当前的属性中

@Autowired:

获得对象的方式称之为byType(通过类型)

在spring容器中寻找注解标定的类型的对象

1.没有任何类型匹配的对象-------------发生异常

2.有且只有一个匹配类型的对象-------注入成功

3.有两个以及两个以上匹配类型的对象

  • 多个匹配类型对象中有匹配当前变量名为对象名称的 ---注入成功

  • 多个匹配类型对重中没有匹配当前变量名为对象名称的 ---注入失败

 

@Resource

获得对象的方式称之为byName(通过名称)

1.有和指定要获得的名称的对象匹配的Spring容器中的对象

  • 类型也匹配,注入成功

  • 类型不匹配,注入失败

2.没有和指定要获得的名称的对象匹配的Spring容器中的对象

  • 如果有唯一一个类型匹配的对象,则注入成功

  • 如果没有唯一匹配类型对象,则注入失败

 

posted @ 2021-09-07 22:26  Coder_Cui  阅读(286)  评论(0编辑  收藏  举报