`

spring架构分析(二)

 
阅读更多

1、从FileSystemAppllicationContext分析Spring对IOC容器的初始化过程

其类继承体系如下:

 通常会调用refresh() 方法,它是IOC容器才初始化的入口。首先会去获取一个beanFactory,实际上为DefaultListableBeanFactory。它持有beanDefinitionMap,里面存储上一节提到的BeanDefinition,同时还有beanDefinitionNames、singletonObjects(用来存储实例化后的单实例对象)等对象。在此之前,还有很重要的一步,是调用refreshBeanFactory()方法,用来根据指定的路径找到resource文件,然后读取文件转换成spring的内部结构BeanDefinition,并且以key-value的形式存入到beanDefinitionMap,用来提供给后续实例化bean时使用。通过debug一下spring源代码里面的测试实例类WebApplicationContextScopeTests,便可以一目了然。如下图:



获取到beanFactory以后会进行一系列的预处理,包括context's class loader、MessageSource registered、post-processing等。重点在于finishBeanFactoryInitialization(beanFactory)方法,它会去实例化单实例、非延迟加载(spring 默认bean配置)的bean。首先会去beanDefinitionMap获取bean定义,然后调用getBean(beanName)去实例化bean,并将它放到DefaultListableBeanFactory的singletonObjects(map)中去。

整个IOC容器的初始化,大致是这个流程,具体spring还会支持各种属性配置,以及初始化前后支持的各种操作等。通过debug源代码,可以针对想要了解的细节及模块研究其实现原理。

 

  • 大小: 62.6 KB
  • 大小: 195.4 KB
分享到:
评论

相关推荐

    Spring技术内幕:深入解析Spring架构与设计原理

    《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透Spring框架的出色架构和设计思想,还能从...

    Spring技术内幕:深入解析Spring架构与设计原理(第2版) .pdf

    ### Spring架构分析 Spring框架的设计基于模块化思想,其架构可以分为以下几个核心模块: 1. **核心容器**:这是Spring框架的基础,包含有BeanFactory和ApplicationContext接口,用于实现依赖注入。 2. **数据访问...

    Spring技术内幕:深入解析 Spring架构与设计原理.pdf

    第一部分详细分析了Spring的核心:IoC容器和AOP的实现,能帮助读者了解Spring的运行机制;第二部分深入阐述了各种基于IoC容器和AOP的Java EE组件在Spring中的实现原理;第三部分讲述了ACEGI安全框架、DM模块以及Flex...

    Spring技术内幕:深入解析Spring架构与设计原理(第1部分)

    Spring技术内幕 深入解析Spring架构与设计原理1(完整清晰版),一共两部分,这是第一部分 《Spring技术内幕:深入解析Spring架构与设计原理》是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自...

    Spring技术内幕:深入解析Spring架构与设计原理(第2版)

    Spring技术内幕:深入解析Spring架构与设计原理(第2版)》是国内唯一一本系统分析Spring源代码的著作,也是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔,Java开发者社区和Spring开发者...

    Spring整体架构分析图

    Spring整体架构分析图

    SPRING技术内幕:深入解析SPRING架构与设计原理

    《SPRING技术内幕:深入解析SPRING架构与设计原理》这本书是Java开发领域的一部重量级作品,由具有丰富开发经验的专家撰写,受到了Java开发者社区和Spring开发者社区的高度推崇。书中深入剖析了Spring框架的核心架构...

    SPRING技术内幕+深入解析SPRING架构与设计 55M(下载地址)

    ### Spring技术内幕与深入解析Spring架构与设计 #### 书籍概述 本书《Spring技术内幕+深入解析Spring架构与设计》是一本专为Spring框架开发者所撰写的深度技术指南。作者凭借超过十年的Java开发经验,从Spring 3.0...

    Spring技术内幕:深入解析Spring架构与设计原理(第2部分)

    Spring技术内幕:深入解析Spring架构与设计原理(第2部分) 《Spring技术内幕:深入解析Spring架构与设计原理》是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔!Java开发者社区和Spring...

    大数据+springcloud技术架构图

    大数据+springcloud技术架构图

    spring技术内幕-深入解析spring架构与设计原理

    《Spring技术内幕——深入解析Spring架构与设计原理》是一本深度剖析Spring框架核心机制与设计理念的专业书籍。本书旨在帮助读者全面理解Spring的内部工作原理,从而更好地应用和优化Spring框架在实际开发中的使用。...

    SPRING技术内幕__深入解析SPRING架构与设计原理完整版

    SPRING技术内幕__深入解析SPRING架构与设计原理,目前csdn上有多分,有的不好使,有的拆成很多分且下载分数很多,这是见过的一本不错的spring书籍,上传共享之、方便下载

    spring源码分析(1-10)

    4. **Spring MVC**:Spring MVC是Spring框架的一部分,用于构建Web应用的模型-视图-控制器架构。DispatcherServlet是核心组件,它负责请求分发。Controller接口定义了处理请求的方法,视图解析器将Model数据渲染成...

    SPRING技术内幕:深入解析SPRING架构与设计原理.zip

    《SPRING技术内幕:深入解析SPRING架构与设计原理》这本书深入探讨了Spring框架的核心机制和设计理念,旨在帮助读者理解并掌握Spring的精髓。Spring作为Java企业级应用开发的重要工具,其灵活性、可扩展性和模块化的...

    Spring技术内幕:深入解析Spring架构与设计原理(第一部分)

    Spring技术内幕 深入解析Spring架构与设计原理1(完整清晰版),一共两部分,这是第一部分 《Spring技术内幕:深入解析Spring架构与设计原理》是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自...

    深入解析Spring架构与设计原理

    第二部分深入阐述了各种基于IoC容器和AOP的JavaEE组件在Spring中的实现原理;第三部分讲述了ACEGI安全框架、DM模块以及Flex模块等基于Spring的典型应用的设计与实现。无论你是Java程序员、Spring开发者,还是平台...

    Spring技术内幕:深入解析Spring架构与设计原理 1/2

     深入解析spring架构原理与设计思想,探究spring成功的奥秘。  揭开spring源代码的神秘面纱,展示系统阅读开源软件源代码的方法和秘诀。  掌握spring的架构原理与设计思想真的能让开发者如虎添翼吗?  ioc容器...

Global site tag (gtag.js) - Google Analytics