一句话描述,就是帮忙IOC创建复杂bean的工厂类,这也是为啥说spring IOC是工厂的工厂
public interface FactoryBean<T> {
@Nullable
T getObject() throws Exception; //重写此方法,该方法的返回值就是该FactoryBean创建的对象,
@Nullable
Class<?> getObjectType();
default boolean isSingleton() {
return true;
}
}
使用跟其他POJO一样的配置<bean id="xxx"/>,但spring创建的bean不是FactoryBean本身而是,getObject()方法的返回值;
如果想从IOC容器获取FactoryBean本身使用getBean("&xxx"); &号的强大啊