spring中bean的四种创建方式
本次分享一下spring中bean的四种创建方式
1. 方式一:普通配置
<bean id="myBean" class="cn.cjc.MyBean"> </bean>
2. 方式二:集成静态工厂
// 准备静态工厂
public class CarFactory {
//静态方法,返回一个对象
public static Car createCar(){
return new Car();
}
}
<!‐‐factory‐method:代表执行工厂中的方法,会把方法返回的对象设置成一个bean ‐‐>
<bean id="car" class="cn.cjc.CarFactory" factory‐method="createCar"> </bean>
3. 方式三:简单工厂
// 准备简单工厂
public class CarFactory {
//普通方法返回一个对象
public Car createCar(){
return new Car();
}
}
<!‐‐创建工厂对象‐‐>
<bean id="carFactory" class="cn.cjc.CarFactory"> </bean>
<!‐‐调用对应工厂对象中的方法,返回一个bean对象‐‐>
<bean id="car" factory‐bean="carFactory" factory‐method="createCar" />
4. 方式四:FactoryBean方法
//创建FactoryBean对象 //每个FactoryBean对应一个操作类型
public class CarFactoryBean implements FactoryBean<Car> {
//返回的bean对象实例
public Car getObject() throws Exception {
return new Car();
}
//返回的bean的类型
public Class<?> getObjectType() {
return Car.class;
}
//设置该bean对象是否是单例
public boolean isSingleton() {
return true;
}
}
<!‐‐这里咱们配置的是一个FactoryBean Spring会为当前这个class对象创建一个bean对象出来 同时,还会创建一个对象 该对象的类型由 getObjectType 方法决定 该对象的值由 getObject 方法决定 而方法isSingleton确定它是否是单例 ‐‐>
<bean id="car" class="cn.cjc.CarFactoryBean"></bean>
完结,撒花!求赞求关注! 有问题可威:c_-j_-c