`
pengwei841221
  • 浏览: 72200 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

BeanDefinition

阅读更多

Resource定位

 

以编程方式用DefaultListableBeanFactory,首先定义个Resource来定位容器使用的BeanDefinition。这时使用的是ClassPathResource,意味着Spring会在类路径中寻找以文件形式存在的BeanDefinition信息:

ClassPathResource res = new ClassPathResource("bean.xml");

这个定义的Resource并不能让DefaultListableBeanFactory直接使用,Spring会通过BeanDefinitionReader来对这些信息处理。

 

现在可以看出,使用ApplicationContext的好处,因为在ApplicationContext中,Spring已经为我们提供了一系列加载不同Resource的读取器的实现。

DefaultListableBeanFactory只是一个纯粹的IoC容器,需要配置合适的读取器才能完成这些功能。

 

有利有弊,使用DefaultListableBeanFactory这种更底层的容器,却能提高我们定制IoC容器的灵活性。

 

1、FileSystemXmlApplicationContext可以从文件系统载入Resource

2、ClassPathXmlApplicationContext可以从class path载入Resource

3、XmlWebApplicationContext可以在Web容器中载入Resource

 

FileSystemXmlApplicationContext是一个支持XML定义BeanDefinition的ApplocationContext,并且可以指定以文件形式的BeanDefinition的读入,这些文件可以使用文件路径和URL定义来表示。在测试环境和独立应用环境中,这个ApplicationContext是非常有用的。

 

 

 

 

 

分享到:
评论

相关推荐

    BeanDefinition存储体系.vsdx

    Spring BeanDefinition 类图结构,形象展示Spring是如何存储Bean信息的。通过类图和源码更好的理解Spring BeanDefinition存储结构

    Spring Boot: Bean definition overriding

    在本文中,我将讨论棘手的Spring Boot bean定义覆盖机制。 为了使您对该主题更加清楚,让我们从小测验开始。请看下一个简单的例子。 因此,我们有2种配置,它们使用名称beanName实例化bean,在主应用程序中,我们仅...

    Spring中眼花缭乱的BeanDefinition.docx

    Spring中的BeanDefinition是核心概念,它是Spring IOC容器的基础,用于描述Bean的元数据,包括Bean的行为、依赖关系和其他配置信息。BeanDefinition包含了Bean的全限定类名、作用域、生命周期回调方法、依赖的其他...

    Spring源码学习二:BeanDefinition解析1

    在Spring框架中,BeanDefinition是核心组件之一,它定义了bean的基本信息和元数据,包括bean的类、作用域、依赖关系、初始化方法等。在Spring容器启动时,配置文件或注解中的bean定义会被解析成BeanDefinition对象,...

    Spring源码学习五:BeanDefinition装载1

    Spring 源码学习五:BeanDefinition 装载 1 在 Spring 框架中,BeanDefinition 是一个核心概念,它描述了一个 Bean 的定义,包括其依赖项、作用域、生命周期等信息。在本篇文章中,我们将深入探讨 Spring 的源码,...

    Spring源码学习四:BeanDefinition装载前奏曲1

    在深入Spring源码的学习过程中,我们主要关注BeanDefinition的装载过程。BeanDefinition是Spring框架的核心概念,它包含了关于Bean的所有元数据,如类名、属性、依赖关系等。在Spring初始化时,会读取XML配置文件,...

    BeanDefinition基础信息讲解

    BeanDefinition基础信息讲解 BeanDefinition是Spring框架中一个非常重要的概念,它是Bean的元数据,用于描述Bean的各种信息,例如Bean的名称、类名称、Scope、依赖关系等。在Spring框架中,BeanDefinition是一个...

    撸一撸Spring Framework-IoC-BeanDefinition(csdn)————程序.pdf

    BeanDefinition就是实现这一概念的关键元素,它包含了关于一个bean的所有元信息,用于描述bean的属性、行为以及与其他bean的关系。 在BeanFactory篇中,我们了解到BeanFactory在启动时会从配置元信息(通常是XML...

    Spring Bean Factory, Bean definition 结构图;processOn

    Spring Bean Factory, Bean definition 结构图;processOn

    00000025_beandefine的用法.rar

    《深入解析Spring框架中的BeanDefinition》 在Spring框架中,BeanDefinition是核心概念之一,它定义了Bean的元数据,包括Bean的类名、初始化方法、依赖关系、属性值等关键信息。本教程将深入探讨BeanDefinition的...

    Spring核心API介绍-后续还会更新.pdf

    BeanDefinition接口提供了获取和设置这些属性的方法,例如getBeanClassName()用于获取Bean的类名,setParentName()用于设置父BeanDefinition的名称,isSingleton()检查Bean是否为单例,等等。通过BeanDefinition,...

    spring源码学习

    - **BeanDefinition的继承体系**:BeanDefinition的继承体系主要由几个关键接口和类构成,包括`BeanDefinition`接口、`AbstractBeanDefinition`抽象类等。`BeanDefinition`接口定义了Bean定义的基本行为,而`...

    Spring框架系列(8) - Spring IOC实现原理详解之Bean实例化(生命周期,循环依赖等).doc

    首先,我们需要从 beanDefinitionMap 中通过 beanName 获得 BeanDefinition,然后从 BeanDefinition 中获得 beanClassName,最后通过反射初始化 beanClassName 的实例 instance。构造函数从 BeanDefinition 的 ...

    Spring配置类解析(下)(csdn)————程序.pdf

    在Spring框架中,配置类解析是构建应用上下文的关键步骤,它涉及到BeanDefinition的生成、配置类的导入以及Bean的定义。在《Spring配置类解析(下)》中,主要探讨了配置类解析过程的多轮循环以及在这个过程中如何加载...

    Spring读取配置文件原理(Spring如何依赖注入的)

    总的来说,Spring通过读取配置文件(XML或注解形式),解析并生成BeanDefinition,然后根据BeanDefinition实例化bean并进行依赖注入,从而实现了对象的管理。理解这一过程有助于我们更好地设计和使用Spring框架,...

    深入解析Spring核心API: 打造高效Java应用

    本文主要探讨了Spring的核心API,包括BeanFactory、BeanDefinition以及事务管理等关键组件,旨在帮助开发者深入理解Spring的工作机制,从而编写出更高效、更可维护的Java应用。 首先,BeanFactory是Spring框架的...

    spring启动componentscan类扫描加载过程

    4. **BeanDefinition的创建**:对于找到的每个类,Spring会创建一个对应的BeanDefinition对象,该对象包含了Bean的完整信息,如类名、依赖关系等。BeanDefinition是Spring容器理解Bean的基础。 5. **注册Bean...

    Spring XmlBeanFactory 容器的基本实现.doc

    Bean 注册与管理 解析得到的 `BeanDefinition` 会被添加到 `DefaultListableBeanFactory` 中,每个 `BeanDefinition` 都有一个唯一的 ID 或名称。当通过 `bf.getBean("testBean")` 获取 Bean 时,`...

    StudyIdeaProject.rar

    3. **BeanDefinition创建**:对于每个找到的类,Spring会创建一个`BeanDefinition`对象,存储类的信息,如类名、依赖关系、初始化方法等。 二、BeanDefinition定义 `BeanDefinition`是Spring中表示Bean元数据的...

    Spring框架系列(7) - Spring IOC实现原理详解之IOC初始化流程.doc

    通过设置资源解析器和环境、设置配置路径、初始化 BeanFactory、加载 Bean 定义资源、解析 Bean 定义资源和注册 BeanDefinition,这些步骤组成了 IOC 初始化流程。 在 Spring 框架中,IOC 容器是核心组件,负责管理...

Global site tag (gtag.js) - Google Analytics