我刚刚开始了spring源码的学习 记录一下学习的进程
spring的bean的生命周期的展示
首先先在配置文件种创建一个bean
获取这个bean
打上断点观察bean如何被创建出来的
观察到进入refresh方法中 f7进入查看一下
能看到refresh中出现了许多非常重要的方法 我们一个一个进入观察一下
首先是第一个方法preRefresh
我们能够观察和到它只是做了一些属性的配置 通过注释可以了解
initPropertySources :初始化上下文环境中的任何占位符属性源
getEnvironment().validateRequiredProperties():验证标记为必需的所有属性都是可解析的
看不懂无所谓 我们大致过一遍流程 暂时先不了解每个方法具体干什么 这个方法大致就是做了一些准备工作在
下一个方法 BeanDefinitions是存储 从配置文件中读入的bean信息
接着下一个 通过方法名就可以了解 他是为bean工厂做一些准备工作
第一个beanclassLoader是什么 我们不陌生吧 就是java动态代理需要创建bean的参数
不知道代理模式也无所谓 你就把他当作是通过反射来创建bean的一个属性
剩下的全部是beanFactory调用方法设置属性 就知道这个方法大致是实现了beanFactory的属性的填充