FactoryBean源码解析
public interface FactoryBean<T> {
//获取对象getObject()
T getObject() throws Exception;
//获取对象类型
Class<?> getObjectType();
//判断对象是否为单例
boolean isSingleton();
}
FactoryBean和BeanFactory区别
BeanFactory:是一个factory,就是一个工厂或者一个IOC容器,它里面装了很多Bean。形象一点:如果把BeanFactory比作一个水桶,那么Bean就是里面的水。
FactoryBean:是一个java Bean,但是它是一个能生产对象的工厂bean。形象一点:IOC容器是木桶,java bean就是里面的水,但是FactoryBean是一个水球,水球里面也包含着水。我们可以通过IOC容器,直接取水球,也可以直接取水。
(用法:有&代表取水球,没&代表取水。其实也可以先用&取得水球后,再用getObject()方法来取水)
网友评论