通常在引用第三方框架时,用静态工厂,FactoryBean等方法比较多。
自己内部使用直接可以用类本身来实例化即可。
<constructor-arg value="qq"></constructor-arg> <!--给静态方法getCar传递参数-->
</bean>
<bean id="car" factory-bean="carfactory" factory-method="getCar">
<constructor-arg value="qq"></constructor-arg> <!--给非静态的工厂方法getCar传递参数-->
</brean>
自己内部使用直接可以用类本身来实例化即可。
1.通过静态方法构造bean
<bean id="car" class="spring.StaticCarFactory" factory-method="getCar"><constructor-arg value="qq"></constructor-arg> <!--给静态方法getCar传递参数-->
</bean>
2.实例工厂方法构造bean
<bean id="carfactory" class="spring.CarFactory"/><bean id="car" factory-bean="carfactory" factory-method="getCar">
<constructor-arg value="qq"></constructor-arg> <!--给非静态的工厂方法getCar传递参数-->
</brean>
3.通过FactoryBean来实现
Bean的类如下:public class CarFactoryBean implements FactoryBean{
//返回该工厂创建的Bean实例。
@Override
public Object getObject() throws Exception {
return new Car();
}
//返回该工厂创建的Bean的类型
@Override
public Class getObjectType() {
return Car.class;
}
//定义通过该工厂创建的bean是否是单例
@Override
public boolean isSingleton() {
return true;
}
}
通过xml文件配置生成bean
<bean id="car" class="spring2.CarFactoryBean"/>
<完>
这篇博客详细介绍了在Spring框架中如何使用静态方法、实例工厂方法以及FactoryBean来构造和初始化bean。通过XML配置文件,展示了如何定义bean的创建过程。
2868

被折叠的 条评论
为什么被折叠?



