这两次春季IOC注射有什么区别?

时间:2012-07-12 11:46:05

标签: java spring

这两次注射有什么区别?

@Autowired
private DocumentDAO documentDao;

@Resource(name = "documentDao")
private DocumentDAO documentDao;

2 个答案:

答案 0 :(得分:10)

简单地说,@ Aututired(Spring中的规范)按类型和@Resource(JSR-250中的规范)按名称连线。

但是@Autowired with @Qualifier也可以通过@Resource名称自动装配。

请看下面的链接:

@Autowire

@Resource

@Spring Injection with @Resource, @Autowired and @Inject

答案 1 :(得分:9)

默认情况下@Autowire按类型注入依赖关系。但它也可以使用@Qualifier@Autowire注释“按名称”注入依赖项。

但关键的区别在于@Autowired是一个弹簧注释,而@Resource是由JSR-250指定的。所以@Resource是普通Java的一部分,@Autowired只能由Spring使用。