1. FactoryBean用法
spring容器管理的类,起到一个工厂的作用。也是一种实例化bean的方式
该接口有三个方法,下面代码都有注释。
// 实现 FactoryBean 接口,该类作为生产object的工厂暴漏。调用下面的 getObject()生成对象
@Configuration
public class PersonFactoryBean implements FactoryBean<Person> {
// 返回对象实例
@Override
public Person getObject() throws Exception {
Person person = new Person();
person.setName("asasas");
return person;
}
// bean的class类型
@Override
public Class<?> getObjectType() {
return Person.class;
}
// true是单例,false 是非单例。默认是单例
@Override
public boolean isSingleton() {
return true;
}
}
2. BeanFactory
该类是一个工厂类,负责生产和管理bean的工厂。是ioc的一个核心接口,也是一个根接口。spring对外暴漏的 ApplicationContext接口,就实现了该BeanFactory接口。