实现FactoryBean方法来给容器中注册bean:
import com.zdj.demo.person.Person4;
import org.springframework.beans.factory.FactoryBean;
public class PersonFactory implements FactoryBean {
//返回一个Person4对象,这个对象会添加到容器中
public Person4 getObject() throws Exception {
return new Person4();
}
public Class<?> getObjectType() {
return Person4.class;
}
//是单例?
//true:这个bean是单实例,在容器中保存一份
//false:多实例,每次获取都会创建一个新的bean;
public boolean isSingleton() {
return true;
}
}
注意:
默认在容器中获取的FactoryBean实现类这个bean的bean名是该工厂类返回对象的类名小写
如果要获取工厂bean自己本身就要在getBean后面的名字前面加“ &”