先简单了解它们的机制
- @Resource默认按照名称方式进行bean匹配,@Autowired默认按照类型方式进行bean匹配
- @Resource(import javax.annotation.Resource;)是J2EE的注解,@Autowired(importorg.springframework.beans.factory.annotation.Autowired;)是Spring的注解
Spring属于第三方的,J2EE是Java自己的东西。使用@Resource可以减少代码和Spring之间的耦合。
比如一个类,俩个实现类,Autowired自动注解就不知道注入哪一个实现类(可以使用@Autowired
()
@Qualifier
(
"实现类名称"
)来区分
),而Resource有name属性,可以区分。