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