2013-08-30 66 views
0

在春依赖注入here是否测试类创建实现在春天依赖注入注入

Whne最后的测试类运行这个例子中,该行后:

MySpringBeanWithDependency test = (MySpringBeanWithDependency) factory 
     .getBean("mySpringBeanWithDependency"); 

哪一个实现作家类将被注入?测试类仍然负责创建一个实际的实现并在Writer上调用业务方法之前注入它。这是真的吗?

回答

0

在基于注释的示例和基于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容器。