依赖注入(DI)背后的基本原则是对象仅通过构造函数参数,工厂方法的参数或在对象实例上设置的属性来定义它们的依赖关系(也就是说它们使用的其他对象)。在从工厂方法建造或退回之后。
这个工厂方法究竟是什么?
答案 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。