• Spring学习(四)--Spring的IOC


    1、BeaDefinition的Resource定位

    (1)直接使用BeanDefinitionFactory

    定义一个Resource来定位容器使用的BeanDefinition。

    Resource rc = new Resource ("Bean.XML");

    rc不能由DefinitionListableBeanFactory来直接使用,需通过BeanDefinitionReader处理。

    (2)使用上下文ApplicationContext

    在ApplicationContext中,Spring已经提供了加载不同Resource的读取器。但是灵活性上BeanDefinitionFactory要更高一些。

    (3)Resource的继承关系

    通过返回的Resource来定位BeanDefinitionFactory。

    2、BeanDefinitionFactory的载入和解析

    BeanDefinitionFactory载入就是把定位到的BeanDefinitionFactory在IOC容器中转换为Spring内部表示的数据结构。

    通过refresh()来启动流程,refresh()在AbstrctApplicationContext类中,AbstrctApplicationContext类中详细的描述着整个ApplicationContext的过程。

    BeanDefinitionFactory的载入的交互过程:

    BeanDefinitionFactory的解析

    调用LoadBeanDefinitions(Recource res),这个接口具体实现在XmlBeanDefintionReader中,在读取器中获得带表XML文件的Resource,Resource中封装这对XML操作的I/O,获取之后按着Spring的Bean定义规则对XML文档树进行解析。解析是交给BeanDefinitionPearserDelegate来完成的。

    先进行基本通用的XML解析,再根据Spring的Bean定义规则对XML文档树进行解析。

  • 相关阅读:
    react学习笔记4
    php学习笔记
    react学习笔记2
    react学习笔记
    获取一个数组中的随机值
    添加数据库补丁
    $.post $.getScript
    SQLServer2008将表数据导出的方法
    DataTable筛选符合条件的DataRow
    c# 下拉多选的实现
  • 原文地址:https://www.cnblogs.com/carblack/p/10864615.html
Copyright © 2020-2023  润新知