BeanFactory 与 FactoryBean 概念的理解

来源:互联网 发布:hex文件反编译成c语言 编辑:程序博客网 时间:2024/05/02 23:56

BeanFactory 

本质是一个Bean工厂,负责Bean生命周期管理,存储Bean实例,提供Bean的查找

是spring Ioc容器的顶级接口,ApplicationContext接口是该接口的一个子接口;

public interface BeanFactory {        //getBean时 如果名称还有此前缀,会获取FactoryBean的实例,而不是FactoryBean生成的Bean实例String FACTORY_BEAN_PREFIX = "&";Object getBean(String name) throws BeansException; <T> T getBean(String name, Class<T> requiredType) throws BeansException; <T> T getBean(Class<T> requiredType) throws BeansException;Object getBean(String name, Object... args) throws BeansException; boolean containsBean(String name); boolean isSingleton(String name) throws NoSuchBeanDefinitionException;boolean isPrototype(String name) throws NoSuchBeanDefinitionException;boolean isTypeMatch(String name, Class<?> targetType) throws NoSuchBeanDefinitionException;Class<?> getType(String name) throws NoSuchBeanDefinitionException; String[] getAliases(String name);}

FactoryBean

本质是一个Bean,

是一个具有工厂特性的Bean,

与普通Bean的区别是,他的实例用于生产Bean; 途径:getObject方法;

public interface FactoryBean<T> {T getObject() throws Exception;Class<?> getObjectType();boolean isSingleton();}

0 0