通过FactoryBean来配置Bean

一、自定义FactoryBean
自定义的 FactoryBean要实现Spring提供的FactoryBean接口
public class  CarFactoryBean  implements  FactoryBean {
    private  String  brand ;

    public void  setBrand ( String  brand ) {
        this . brand  brand ;
    }

    //返回Bean的对象
    public  Object  getObject ()  throws  Exception  {
        return new  Car ( brand , 500000 ) ;
    }

    //返回Bean的类型
    public  Class <?>  getObjectType () {
        return  Car . class ;
    }

    //是否是单例
    public boolean  isSingleton () {
        return true ;
    }
}
二、Spring文件配置
通过FactoryBean来配置Bean的实例
Class:指向FactoryBean的全类名
property:配置FactoryBean的属性
但实际返回的实例却是FactoryBean的getObject()方法返回的实例
< bean  id ="car"  class ="factorybean.CarFactoryBean" >
    < property  name ="brand"  value ="BMW" ></ property >
</ bean >

猜你喜欢

转载自blog.csdn.net/qq_34886352/article/details/79247793