Spring源码解析(二)-IOC的构建

IOC初始化构造

IOC容器的构建归为以下三步:
1. Bean定义资源文件的定位
2. Bean定义资源文件的载入
3. Bean定义的注册

Spring构造IOC容器,可以用一行代码完成:

XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("beans.xml"));

这行代码简单却不明了,我们将他拆分为多行代码,可以清晰明了的了解Spring是如何构建IOC容器的代码如下所示:

ClassPathResource resource = new ClassPathResource("beans.xml");
DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader  reader = new XmlBeanDefinitionReader(factory);
reader.loadBeanDefinitions(resource);

从而可以将IOC容器的构建归为以下六步

  1. 定义好Spring的配置文件。
  2. 通过Resource对象将Spring配置文件进行抽象,抽象成一个Resource对象。
  3. 定义好Bean工厂。
  4. 定义好XmlBeanDefinitionReader对象,并将工厂作为参数传递进去供后续回调使用。
  5. 通过XmlBeanDefinitionReader对象读取之前抽象出的Resource对象(包含了XML文件的解析过程)。本质上,XML文件的解析是由XmlBeanDefinitionReader交由BeanDefinitionParserDelegate委托来完成(用到了委托模式)
  6. IoC容器创建完毕,用户可以通过容器获取到所需的对象信息。

你可能感兴趣的:(Spring源码解析(二)-IOC的构建)