Spring中@Autowired和@Resource的区别
在spring中关于@Autowired和@Resource的区别
一. @Resource
-
@Resource注解默认根据名称进行装配,根据名称无法找到对应的bean则按照类型自动装配。 -
如果该注解指定了
name属性,则只会根据指定的名称进行装配,根据名称找不到就抛异常。 -
如果指定了
type属性,则会根据指定的type进行装配,找不到或存在多个都抛异常。 -
如果同时指定了
name和type属性,则从容器中找到唯一的bean装配找不到对应的bean抛出异常。
二. @Autowired
1. @Autowired则是默认根据类型进行自动装配,如果存在多个相同类型的bean,则会抛出异常。可以结合@Qualifier具体要选择哪一个bean装配。
前者是默认根据名称装配,后者则是默认根据类型装配。

浙公网安备 33010602011771号