注入依赖项

时间:2014-04-27 06:15:02

标签: spring

依赖注入(DI)背后的基本原则是对象仅通过构造函数参数,工厂方法的参数或在对象实例上设置的属性来定义它们的依赖关系(也就是说它们使用的其他对象)。在从工厂方法建造或退回之后。

这个工厂方法究竟是什么?

2 个答案:

答案 0 :(得分:1)

查看last example in this Spring reference documentation section

这是样本:

<bean id="exampleBean" class="examples.ExampleBean" factory-method="createInstance">
    <constructor-arg ref="anotherExampleBean"/>
    <constructor-arg ref="yetAnotherBean"/>
    <constructor-arg value="1"/>
</bean>

<bean id="anotherExampleBean" class="examples.AnotherBean"/>
<bean id="yetAnotherBean" class="examples.YetAnotherBean"/>

ExampleBean类:

public class ExampleBean {

// a private constructor
private ExampleBean(...) {
    ...
}

// a static factory method; the arguments to this method can be
// considered the dependencies of the bean that is returned,
// regardless of how those arguments are actually used.
public static ExampleBean createInstance (
    AnotherBean anotherBean, YetAnotherBean yetAnotherBean, int i) {

    ExampleBean eb = new ExampleBean (...);
    // some other operations...
    return eb;
}

}

因此,在同一个bean中使用factory-method创建bean的实例。并且通过将其他bean作为参数传递给factory-method来实现依赖注入。

答案 1 :(得分:0)

Factory Method是用于创建对象的设计模式。 Factory方法定义了一个用于创建对象的接口,但是让子类决定实例化哪些类。有关详细信息,请阅读here