BeanFactory和FactoryBean的区别

java技术文章

2018-09-14

34

0

BeanFactory:

负责生产bean和管理bean的spring容器,并且给其他容器提供了一个规范的形式。

比如:DefaultListTableBeanFactory,XmlBeanFctory,ApplicationContext等具体容器就是实现了BeanFactory,且附加了一些额外的功能。

package org.springframework.beans.factory;  
import org.springframework.beans.BeansException;  
public interface BeanFactory {  
    String FACTORY_BEAN_PREFIX = "&";  
    Object getBean(String name) throws BeansException;  
     T getBean(String name, Class requiredType) throws BeansException;  
     T getBean(Class 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:

FactoryBean是一个接口,其中getBean(String beanName)方法获取的不是实现类实例,而是FactoryBean中getObject()返回的一个对象,如果要获取实现类实例需要调用getBean(String &+beanName),参数beanName前需要加上&符号。

package org.springframework.beans.factory;  
public interface FactoryBean {  
    T getObject() throws Exception;  
    Class<?> getObjectType();  
    boolean isSingleton();  
} 

欢迎访问:www.hongfu951.com博客,查看更多技术文章

发表评论

全部评论:0条

鸿福951

努力打造一个好用的webui

热评文章

推荐文章