实例工厂创建Bean2
时间: 2024-05-06 19:19:59 浏览: 12
假设我们有一个名为`Bean2`的类,它有一个构造函数,需要两个参数:`String`类型的`name`和`int`类型的`age`。
我们可以通过实例工厂方法来创建`Bean2`类的实例:
```java
public class Bean2Factory {
// 实例工厂方法
public Bean2 createBean2(String name, int age) {
return new Bean2(name, age);
}
}
```
在这个工厂类中,我们定义了一个名为`createBean2`的实例工厂方法,它接受两个参数,即`name`和`age`,并返回一个新的`Bean2`实例。
接下来,在Spring配置文件中,我们可以使用`<bean>`元素定义这个工厂类,并使用`factory-bean`和`factory-method`属性来引用实例工厂方法:
```xml
<bean id="bean2Factory" class="com.example.Bean2Factory" />
<bean id="bean2" factory-bean="bean2Factory" factory-method="createBean2">
<constructor-arg value="John" />
<constructor-arg value="30" />
</bean>
```
在这个配置中,我们首先定义了一个名为`bean2Factory`的`Bean2Factory`类的实例。然后,我们使用`<bean>`元素来定义`Bean2`类的实例,并使用`factory-bean`属性引用工厂类的实例,使用`factory-method`属性引用实例工厂方法。
在`<bean>`元素的子元素`<constructor-arg>`中,我们传递了`name`和`age`参数的值,以便在实例工厂方法中使用它们来创建`Bean2`类的实例。
最终,当Spring容器启动时,它将使用实例工厂方法来创建`Bean2`类的实例,并将其注入到`bean2`变量中。