在春依赖注入here是否测试类创建实现在春天依赖注入注入
Whne最后的测试类运行这个例子中,该行后:
MySpringBeanWithDependency test = (MySpringBeanWithDependency) factory
.getBean("mySpringBeanWithDependency");
哪一个实现作家类将被注入?测试类仍然负责创建一个实际的实现并在Writer上调用业务方法之前注入它。这是真的吗?
在春依赖注入here是否测试类创建实现在春天依赖注入注入
Whne最后的测试类运行这个例子中,该行后:
MySpringBeanWithDependency test = (MySpringBeanWithDependency) factory
.getBean("mySpringBeanWithDependency");
哪一个实现作家类将被注入?测试类仍然负责创建一个实际的实现并在Writer上调用业务方法之前注入它。这是真的吗?
在基于注释的示例和基于XML的示例中,Spring都会将NiceWriter
bean注入到MySpringBeanWithDependency
bean中。
对于注释例如,这是因为NiceWriter
类与@Service
注释(而Writer
类不是)和弹簧将通过类路径扫描发现这一点,它自动装配成MySpringBeanWithDependency
。
对于XML示例,这是因为NiceWriter
类用于定义ID为writer
的bean,该bean被引用为ID为mySpringBeanWithDependency
的bean的“writer”属性。
在这两种情况下,MySpringBeanWithDependency
bean都是通过Spring注入的依赖项实例化的,因此可以使用。它是而不是负责管理其IWriter
依赖项。这就是为什么依赖注入(简称DI)通常与控制反转(简称IoC)联合使用。 Spring提供了一个使用DI的IoC容器。