zoukankan      html  css  js  c++  java
  • 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文档树进行解析。

  • 相关阅读:
    WAF与IPS的区别总结
    web后门排查与高效分析web日志技巧
    如何做一名好的web安全工程师?
    从“黑掉Github”学Web安全开发
    DNS劫持
    万网上如何将IP和申请的域名绑定
    如何申请网站域名
    什么是域名?什么网站名?什么是URL?
    myeclipse svn 插件去除已经保存的密码方法
    SVN中检出 和 导出 的区别
  • 原文地址:https://www.cnblogs.com/carblack/p/10864615.html
Copyright © 2011-2022 走看看