依赖注入和自动装配之间的区别

时间:2015-12-23 18:57:01

标签: spring autowired

  1. 我可以知道依赖注入和自动装配有什么区别吗?自动装配是否与依赖注入不同?
  2. 哪种方法是自动装配(基于XML或基于注释)?

1 个答案:

答案 0 :(得分:9)

简短回答:依赖注入是一种设计模式,而@autowired是一种实现它的机制。

DI的想法是,不是你的对象创建它需要的对象(比如通过使用new来实例化它),这个需要的对象 - 依赖 - 通常使用构造函数或setter方法传递给你的对象。如果您自动装配,那么您将注入依赖性。在这种情况下,Spring使用反射来完成这项工作,所以你没有使用构造函数或setter方法,但你仍然在注入依赖项。

回答问题2,这是你的选择。就个人而言,我发现XML配置文件很麻烦,我会尽可能地使用注释。无论采用哪种方式,您都可以完成任何配置。