1. 程式人生 > >Spring中的BeanFactory和FactoryBean的區別

Spring中的BeanFactory和FactoryBean的區別

get bject ins let 區別 inter on() iss exceptio

一句話介紹

BeanFactory接口用來生產Bean,它處理生產bean的接口體系的最頂層,getBean方法可以獲取bean。FactoryBean接口用來定制Bean的生產過程,getObject方法中可以實現自定義過程。

源碼

BeanFactory源碼

public interface BeanFactory {
    String FACTORY_BEAN_PREFIX = "&";

    Object getBean(String var1) throws BeansException;

     T getBean(String var1, Class var2) throws BeansException;

     T getBean(Class var1) throws BeansException;

    Object getBean(String var1, Object... var2) throws BeansException;

     T getBean(Class var1, Object... var2) throws BeansException;

    boolean containsBean(String var1);

    boolean isSingleton(String var1) throws NoSuchBeanDefinitionException;

    boolean isPrototype(String var1) throws NoSuchBeanDefinitionException;

    boolean isTypeMatch(String var1, ResolvableType var2) throws NoSuchBeanDefinitionException;

    boolean isTypeMatch(String var1, Class var2) throws NoSuchBeanDefinitionException;

    Class getType(String var1) throws NoSuchBeanDefinitionException;

    String[] getAliases(String var1);
}

FactoryBean源碼

public interface FactoryBean {
    T getObject() throws Exception;

    Class getObjectType();

    boolean isSingleton();
}

public interface FactoryBean {
    T getObject() throws Exception;

    Class getObjectType();

    boolean isSingleton();
}

Spring中的BeanFactory和FactoryBean的區別