Spring源码深度解析笔记(9)——Spring容器的基本实现
2.1 容器的基本用法 bean是Spring中最核心的东西,因为Spring就像一个大水桶,而bean就像容器中的水,水桶脱离了水也没什么用处。 2.2 功能分析 Spring创建对象的功能就是一下几点: 读取配置文件; 根据配置文件中的配置找到对应的类的配置,并实例化; 调用实例化后的实例。 如果想完成上述功能,至少需要三个类: ConfigReader:用于读取以及验证配置文件,然后放置在内存中; ReflectionUtil:用于根据配置文件中的配置进行反射实例化, App:用于完成整个逻辑的串联。 2.4 Spring的结构组成 2.4.1 beans包的层级结构 整个beans工程的源码包的功能如下: src/main/java:用于展示Spring的主逻辑; src/main/resource:用于存放系统的配置文件; src/test/java:用于主要逻辑进行单元测试; src/test/resource:用于存放测试用的配置文件。 2.4.2 核心类介绍 DefaultListableBeanFactory:XmlBeanFactory继承自DefaultListableBeanFactory,而DefaultListableBeanFactory是整个Bean加载的核心部分,是Spring注册以及加载bean的默认实现