spring源码解析(二)

来源:互联网 发布:淘宝店被释放怎么重开 编辑:程序博客网 时间:2024/05/19 12:18

IOC容器的初始化包括

  1. BeanDefinition的Resource定位
  2. 载入
  3. 注册

我们可以看到定位和载入过程中接口调用。
Spring在实现中是把三个过程分开并使用不同的模块来完成,这样方便用户剪裁和扩展。
1: BeanDefinition的资源定位由ResourceLoader通过Resource接口完成。
比如文件系统中定义信息可以用:FileSystemResource,ClassPathResource来使用等等。
2:BeanDefinition的载入过程中把用户定义的Bean表示成IOC的内部数据结构BeanDefinition。
3:向IOC注册BeanDefinition的过程。这是通过BeanDefinitionRegistry接口实现完成的,这注册过程吧载入过程中得到BeanDefinition向IOC注册。IOC内部是通过HashMap来持有BeanDefinition数据的。
值得注意的是IOC容器初始化一般不包含Bean依赖注入的实现,它是第一次通过容器getBean获取Bean时。

BeanDefinition的Resource定位

0 0