一、区别
- 1.BeanFactory是所有Spring Bean容器的顶级接口,为spring容器定义了一套规范,并提供getBean方法从容器中获取指定的Bean实例
- 2.BeanFactory在产生Bean的同时,还提供了解决Bean之间的依赖注入的能力
- 3.FactoryBean是一个工厂Bean,是一个接口,实现该接口可以动态生成某一类型的Bean的实例,可以自定义一个Bean并且可以加载到IOC容器里面
- 4.FactoryBean中有个方法getObject,这个方法可以动态构建Bean的一个过程
- 5.FactoryBean可以返回创建Bean的工厂,可以自定义FactoryBean,用它来扩展创建Bean的规则
二、FactoryBean代码示例
package com.learning.bean;
import org.springframework.beans.factory.FactoryBean;
/**
* @Author wangyouhui
* @Description factoryBan
**/
public class DogFactoryBean implements FactoryBean<Dog> {
@Override
public Dog getObject() throws Exception {
return new Dog();
}
@Override
public Class<?> getObjectType() {
return Dog.class;
}
@Override
public boolean isSingleton() {
return true;
}
}