温馨提示×

Spring Boot里Autowired与@Resource的区别

小樊
136
2024-08-23 12:39:27
栏目: 编程语言

  1. @Autowired 是Spring框架自带的注解,而@Resource 是javax.annotation 包下的注解。

  2. @Autowired 是根据类型进行自动装配,如果存在多个类型相同的Bean,则会报错;而@Resource 是根据名称进行自动装配,如果存在多个相同名称的Bean,则会使用@Qualifier 指定具体使用哪个Bean。

  3. @Autowired 可以用在构造方法、属性和方法上,而@Resource 只能用在属性上。

  4. @Autowired 是Spring提供的,支持byType自动装配,可以不用显示的写 @Autowired,Spring会自动寻找到与目标bean类型相同的bean进行装配。而@Resource 是J2EE提供的,只支持byName自动装配,并且需要显示的写明需要装配的bean的名称。

总的来说,@Autowired 更加灵活,而@Resource 更加强制性,推荐优先使用@Autowired。

0