@Resource 相当与 @Autowire 加上 @Qualifier
@Autowire默认按照类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false。
@Resource装配顺序
- 如果同时指定name和type,则从容器中查找唯一匹配的bean装配,找不到则抛出异常
- 如果指定name属性,则从容器中查找名称匹配的bean装配,找不到则抛出异常
- 如果指定type属性,则从容器中查找类型唯一匹配的bean装配,找不到或者找到多个抛出异常
- 如果都不指定,则自动按照byName方式装配,如果没有匹配,则回退一个原始类型进行匹配,如果匹配则自动装配