测试类是否创建了在spring依赖注入中注入的实现

时间:2013-08-30 14:46:31

标签: spring dependency-injection

在弹簧依赖注入的here

示例中

在此行之后运行最终测试类:

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

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

1 个答案:

答案 0 :(得分:0)

在基于注释的示例和基于XML的示例中,Spring将NiceWriter bean注入MySpringBeanWithDependency bean。

对于注释示例,这是因为NiceWriter类使用@Service注释(而Writer类不是),Spring将通过类路径扫描发现并将其自动装入MySpringBeanWithDependency

对于XML示例,这是因为NiceWriter类用于定义标识为writer的bean,该bean被引用为标识为{{1}的bean的“writer”属性}。

在这两种情况下,mySpringBeanWithDependency bean都是通过Spring注入的依赖项实例化的,因此可以使用。 负责管理其MySpringBeanWithDependency依赖项。这就是为什么依赖注入(简称DI)通常与反转控制(简称IoC)相辅相成。 Spring提供了一个使用DI的IoC容器。