spring中BeanFactory和FactoryBean的区别

本文介绍了Spring中BeanFactory和FactoryBean的区别。BeanFactory是Spring的IOC工场,是IOC最基本的接口,用于管理和创建Bean。FactoryBean是一个bean,也是一个接口,实现该接口的类可创建特定的bean实例。文中还给出了FactoryBean接口的定义和相关参考链接。

BeanFactory是一个factory,是spring的IOC的工场,而FactoryBean是个bean,它们两个只是名字很相似。

BeanFactory是一个IOC工场,像常用的DefaultLisableBeanFactory,用于管理和创建Bean,它是IOC最基本的接口,为其他的IOC工场提供规范,很多其他的spring容器都实现了它,如ApplicationContext、XMLBeanFactory等。它提供了通过bean的名字获取实例、判断bean是否在工场中、判断是否为单例等方法。

FactoryBean是一个bean,也是一个接口。该接口中定义了三个方法,getObject(),返回实现了FactoryBean接口的类创建的bean实例,getObjectType返回该实例的类型,isSingleton判断该实例是否为单例。当一个类实现了FactoryBean后,如ABean实现了FactoryBean,通过容器使用getBean(String beanName),即applicationContext.getBean(“aBean”)返回的不是aBean对象,而是aBean实现getObject中生成的实例。

package org.springframework.beans.factory;  
public interface FactoryBean<T> {  
    T getObject() throws Exception;  
    Class<?> getObjectType();  
    boolean isSingleton();  
}   
https://blog.51cto.com/4247649/2118353

https://blog.youkuaiyun.com/wangbiao007/article/details/53183764

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值