6

这2次注射有什么区别?

@Autowired
private DocumentDAO documentDao;

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

2 回答 2

10

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

但是,@Autowired 和 @Qualifier 也可以按名称自动装配为 @Resource。

请查看以下链接:

@Autowire

@资源

带有@Resource、@Autowired 和@Inject 的@Spring 注入

于 2012-07-12T11:48:50.287 回答
9

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

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

于 2012-07-12T11:56:25.323 回答