Autowired和Resource的区别.

Posted a-fm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Autowired和Resource的区别.相关的知识,希望对你有一定的参考价值。

Autowired和Resource的区别.

标签(空格分隔): Spring


@Resource 默认按照名称来装配注入, 只有当找不到与匹配的bean才会按照类型来装配注入.

  1. 如果同时指定了name和type, 则从Spring上下文忠找到唯一匹配的bean进行装配, 找不到则抛出异常.
  2. 如果指定了name, 则从上下文中查找名称匹配的bean进行装配, 找不到则抛出异常.
  3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配, 找不到或者找到多个都会异常报错.
  4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配.

@Autowired默认按类型装配(这个注解是属于spring的),默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用

以上是关于Autowired和Resource的区别.的主要内容,如果未能解决你的问题,请参考以下文章

@Autowired 和@Resource区别

Spring 注释 @Autowired 和@Resource 的区别

@Autowired和@Resource注解的区别?

@Autowired和@Resource的区别

关于@Autowired和@Resource注解区别

@Resource和@Autowired的区别