简短回答:依赖注入是一种设计模式,而@autowired是一种实现它的机制.
DI的想法是,不是你的对象创建它需要的对象(比如通过使用new来实例化它),这个需要的对象 - 一个依赖 - 被传递给你的对象,通常使用构造函数或setter方法.如果您自动装配,那么您将注入依赖性.在这种情况下,Spring使用反射来使其工作,因此您不使用构造函数或setter方法,但您仍然在注入依赖项.
回答问题2,它是你的选择.就个人而言,我发现XML配置文件很麻烦,我会尽可能地使用注释.无论采用哪种方式,您都可以完成任何配置.
简短回答:依赖注入是一种设计模式,而@autowired是一种实现它的机制.
DI的想法是,不是你的对象创建它需要的对象(比如通过使用new来实例化它),这个需要的对象 - 一个依赖 - 被传递给你的对象,通常使用构造函数或setter方法.如果您自动装配,那么您将注入依赖性.在这种情况下,Spring使用反射来使其工作,因此您不使用构造函数或setter方法,但您仍然在注入依赖项.
回答问题2,它是你的选择.就个人而言,我发现XML配置文件很麻烦,我会尽可能地使用注释.无论采用哪种方式,您都可以完成任何配置.