@Resource注解省略name属性后的行为

  @Resource有一个name属性,该属性值为所要注入的Bean实例的id,类似于<property.../>元素的ref属性,不过在spring中允许省略name属性值,省略后在以下情况中代表不同的行为

  • 注解标注set方法时省略name属性,如setXXX(),则name值默认为xXX,去掉“set”,首字母小写。
  • 注解直接标注变量时省略name属性,则那么name值默认与所标注变量名相同。

值得注意的是:如@Resource省略name属性后,按其默认规则没有找到所需要注入的Bean时,则采用byType的方式寻找,即寻找与所标注set方法参数类型或所标注变量类型相匹配的Bean,如有唯一匹配则直接注入,如有多个匹配,则抛出异常。

原文地址:https://www.cnblogs.com/yoran-yang/p/4241870.html