`
Java_KAbanban
  • 浏览: 38127 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BeanFactory定了IoC的基本特性

阅读更多
   我们知道BeanFactory定义了Ioc容器的基本功能规范,Ioc容器的基本接口是有BeanFactory来定义的,也就是说BeanFactory 定义了Ioc容器的最基本的形式,并且提供了Ioc容器所应该遵守的最基本的服务契约。与此同时,BeanFactory也是我们使用Ioc容器所应该遵守的最底层和最基本的编程规范。在spring中BeanFactory只是一个接口,并没有给出容器的具体实现,而我们可以从各种spring中给出的具体类中,比如DefaultListableBeanFactory 、XmlBeanFactory、ApplicationContext等实现类,都可以看成是容器的附加了某种功能的具体实现。BeanFactory是怎样定义IoC容器的基本接口的呢???
   用户在使用容器时,可以使用转义字符“&”来得到FactoryBean本身,用来区分通过容器来获取FactoryBean产生的对象和获取FactoryBean本身。例如,myJndiObject是一个FactoryBean,那么使用&myJndiObject得到的是FactoryBean,而不是myJndiObject这个FactoryBean产生的对象。
  BeanFactory接口设计了getBean方法,这个方法是使用IoC容器API的主要方法,通过此方法,可以获得IoC容器管理的Bean。如果需要在获取Bean时对Bean的类型进行检查,BeanFactory接口定义了带有参数的getBean方法。当获取bean时,需要获取的Bean是prototype类型的,用户还可以为这个prototype类型的Bean生成指定构造函数的对应参数。这使得在一定程度上可以控制生成prototype类型的Bean。有了BeanFactory的定义,用户可以执行以下操作:
   1.通过接口方法containsBean让用户能够判断容器是否含有指定名字的Bean。
   2.通过接口方法isSingleton来查询指定名字的Bean是否是Singleton类型的Bean。对于Singleton属性,用户可以在BeanDefinition中指定。
   3.通过接口方法isPrototype来查询指定名字的Bean是否是Prototype类型的Bean.对于prototype属性,用户同样可以在BeanDefinition中指定。
   4.通过接口方法isTypeMatch来查询指定名字的Bean的Class类型是否是特定的Class类型。这个Class类型可以由用户自己指定。
   5.通过接口方法getType来查询指定了名字的Bean的Class类型。
   6.通过接口方法getAliases来查询指定了名字的Bean的所有别名,这些别名都是用户在BeanDefinition中定义的。
BeanFactory定义这些方法,勾画出了IoC容器的基本特性。
 
分享到:
评论

相关推荐

    Spring的IoC容器之BeanFactory[定义].pdf

    Spring的IoC容器是其核心特性之一,它通过BeanFactory和ApplicationContext两个主要接口来实现控制反转(Inversion of Control,IoC)的概念。BeanFactory作为基础的IoC容器,提供了全面的IoC服务,包括对象的注册、...

    Spring IOC基础jar包

    `BeanFactory`接口和它的实现类如`DefaultListableBeanFactory`都在这个包中,它们是IOC容器的基础。 3. `org.springframework.core-3.0.6.RELEASE.jar`: 核心模块,提供了Spring框架的基础工具类和基本数据类型,...

    二、Spring源码分析——BeanFactory

    ApplicationContext除了具备BeanFactory的所有功能外,还添加了以下特性: 1. **资源加载**:ApplicationContext能加载多种类型的资源,如消息资源、国际化资源等。 2. **事件发布**:提供ApplicationEvent和...

    Spring源码分析_Spring_IOC

    Spring框架提供了多种IOC容器,其中最基础的是`BeanFactory`接口,它定义了Spring IOC容器的基本功能。`BeanFactory`主要关注于对象的创建和依赖关系的管理,但不提供诸如资源加载、国际化消息处理等高级功能。`...

    Spring IOC源码解读

    而ApplicationContext则是一种更高级的容器,除了提供BeanFactory的基本功能外,还增加了许多面向框架的特性,比如事件发布、国际化支持、资源访问等。 BeanFactory接口是Spring容器的基本规范,它定义了如何获取和...

    Spring_IOC详解.pdf

    - **BeanFactory**:作为Spring的最基本容器,它仅提供最基本的依赖注入功能。BeanFactory在创建Bean时,不会立即初始化所有Bean,而是采用懒加载策略,即在首次调用`getBean()`方法时才进行初始化。这在一定程度上...

    spring ioc思维导图源文件

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性之一,它允许开发者将对象的创建和管理交给Spring容器来处理,从而使代码更加松耦合,更易于测试和维护。下面将详细介绍Spring IOC的基本概念、...

    Spring-IOC实现

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它将对象的创建和管理权交由Spring容器处理,使得开发者可以更专注于业务逻辑的编写,而不是对象的生命周期管理。下面,我们将深入探讨Spring...

    Spring-ioc-jar

    Spring IOC,全称为Inversion of Control,中文常被称为“控制反转”,是Spring框架的核心特性之一。这个概念在软件设计中引入了一种新的依赖管理方式,它将对象的创建和管理权交给了容器,使得开发者可以更专注于...

    spring ioc

    Spring 是一个广泛应用的 Java 应用开发框架,其核心特性之一就是IOC,它极大地简化了软件组件之间的依赖管理。在本文中,我们将深入探讨 Spring IOC 的概念、工作原理以及如何在实际项目中应用。 首先,理解 IOC ...

    Spring IOC:找对象的一次革命(1)

    《Spring IOC:找对象的一次革命》一文深入探讨了Spring框架中的一种核心特性——Inversion of Control(IoC),即控制反转。IoC是一种设计模式,它将对象的创建和管理责任从对象本身转移到了一个外部实体,通常称为...

    Spring IOC容器实现分析.pdf 下载

    BeanFactory是Spring的基础容器,提供了基本的对象管理功能;ApplicationContext则是在BeanFactory的基础上扩展,增加了更多企业级应用的功能,如消息资源处理、国际化支持等。 三、IOC容器的工作流程 1. 配置解析...

    Spring IOC.pdf

    1. BeanFactory:这是最简单的容器,提供了基本的依赖注入支持。 2. ApplicationContext:提供了更完整的框架功能,它继承了BeanFactory,并且还提供了企业服务,如消息资源的处理(国际化)、事件传播、资源加载...

    自己实现的ioc容器

    Spring框架的核心特性之一就是Inversion of Control(IoC)容器,也被称为依赖注入(Dependency Injection)。IoC容器负责管理对象的生命周期和对象间的依赖关系,从而降低了代码的耦合度,提高了可测试性和可维护性...

    Spring - 2 IoC

    - **初始化和调用**:通过`BeanFactory`或`ApplicationContext`实例化IoCService对象,并调用其display()方法演示IoC容器的基本用法。 通过以上内容的学习,我们可以了解到Spring框架中IoC容器的基本概念、设计模式...

    springioc的搭建和配置

    - **ApplicationContext**: 提供了一种更为强大的 IoC 容器实现,除了 BeanFactory 的所有功能外,还提供了更多的特性,如国际化支持、事件传播机制等。其常见的实现包括 `ClassPathXmlApplicationContext` 和 `...

Global site tag (gtag.js) - Google Analytics