spring4.2源码分析(一)组件-BeanFactory系列(1-BeanFactory)

        BeanFactory是Spring IOC容器的鼻祖,是IOC容器的基础接口,所有的容器都是从它这里继承实现而来。可见其地位。BeanFactory提供了最基本的IOC容器的功能,即所有的容器至少需要实现的标准。

        BeanFactory体系结构是典型的工厂方法模式,即什么样的工厂生产什么样的产品。BeanFactory是最基本的抽象工厂,而其他的IOC容器只不过是具体的工厂,对应着各自的Bean定义方法。但同时,其他容器也针对具体场景不同,进行了扩充,提供具体的服务。

(一) BeanFactory体系


(二)BeanFactory职责

(1)BeanFactory

  •         功能说明

        总结:核心功能通过beanname从工厂中获取类单个实例

        访问Spring bean容器的根接口,这是bean容器的基本客户端视图;

        进一步的接口,如@link ListableBeanFactory和

{ org.springframework.beans.factory.config.ConfigurableBeanFactory }可用于特定目的。

        这个接口是由拥有许多bean定义的对象实现的,

        1.每个都由一个字符串名惟一地标识。根据bean的定义,工厂将返回一个包含对象的独立实例(原型设计模式),或者单个共享实例(上级替代单例设计模式,其中实例为a在工厂的范围内单例模式)。将会返回哪种类型的实例取决于bean工厂的配置:API是相同的。因为spring根据具体的应用程序,可以使用进一步的范围上下文(如。在web环境中“请求”和“会话”作用域)。这种方法的目的是,BeanFactory是一个中心注册中心应用程序组件,并集中应用程序配置组件(不再需要单独的对象读取属性文件,

        2.Spring的依赖注入功能是使用这个BeanFactory接口及其子接口实现。通常,一个BeanFactory将载入存储在配置中的bean定义源(例如XML文档),并使用{ @code org.springframework.beans }打包以配置bean。但是,实现可以简单地返回

它在Java代码中直接创建的Java对象。没有关于如何存储定义的约束:LDAP、RDBMS、XML,支持引用的属性文件,等等。在bean(依赖注入)。与@link ListableBeanFactory的方法相比,所有的这个接口中的操作也会检查父工厂是否为a

{ @link HierarchicalBeanFactory }。如果在这个工厂实例中没有发现bean,将会询问直接的母工厂。这个工厂实例中的bean应该在任何父工厂中覆盖相同名称的bean。

  •    功能列表

   1.获取bean实例对象

  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;
<T> T getBean(Class<T> requiredType, Object... args) throws BeansException;
2.判断性功能(是否包含bean,是否单例模式,是否原型模式)
boolean containsBean(String name);
boolean isSingleton(String name) throws NoSuchBeanDefinitionException;
boolean isPrototype(String name) throws NoSuchBeanDefinitionException;
3.获取对象类型
Class<?> getType(String name) throws NoSuchBeanDefinitionException;
String[] getAliases(String name);
下一章: 
  《spring4.2源码分析(一)组件-BeanFactory系列(2-ListAbleFactory)》 
 











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值