spring IoC源码分析(1)

IoC从原理上说非常简单,就是把xml文件解析出来,然后放到内存的map里,最后在内置容器里管理bean。但是看IoC的源码,却发现非常庞大,看着非常吃力。因为spring加入了很多特性和为扩展性预留很多的接口,这导致了他的复杂性。国内有人写了本书叫《Spring 技术内幕》,老实说分析的还可以,但是语言组织上实在不敢恭维,思维跳跃非常严重,有些废话也太多了点,本来代码就复杂,看着这本书就觉得像被作者带着绕树好几圈。撇开那些增强和为扩展预留的接口,IoC最核心的就是容器的初始化和依赖的注入。

  • 容器的初始化做了几件事情:
  1. 资源的定位,就是定位你配置的xml文件
  2. 对resource文件进行解析,解析成spring 定义的BeanDefinition
  3. 对BeanDefinition 进行注册,其实就相当于把BeanDefinition 放到一个HashMap
  • 依赖的注入:
  1. 根据BeanDefinition创建Bean实例
  2. 为Bean注入依赖的实例

下面的图很直观的看到:(from: http://blog.csdn.net/cutesource/article/details/6132650 
《spring IoC源码分析(1)》
《spring IoC源码分析(1)》

    原文作者:Spring Boot
    原文地址: https://blog.csdn.net/ykdsg/article/details/8666463
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞