Spring注解@Resource以及@Autowire区别

@Resource 相当与 @Autowire 加上 @Qualifier

@Autowire默认按照类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false。

@Resource装配顺序

  1. 如果同时指定name和type,则从容器中查找唯一匹配的bean装配,找不到则抛出异常
  2. 如果指定name属性,则从容器中查找名称匹配的bean装配,找不到则抛出异常
  3. 如果指定type属性,则从容器中查找类型唯一匹配的bean装配,找不到或者找到多个抛出异常
  4. 如果都不指定,则自动按照byName方式装配,如果没有匹配,则回退一个原始类型进行匹配,如果匹配则自动装配

你可能感兴趣的:(Java)