image.png
    自己做的话如何做spring 图片.png
    1.架构图

    ioc
    aop ===> 容器(从对象的创建和销毁进行管理)
    bean beanDefinition(接口)
    图片.pngimage.png
    BeanDefinitionReader 作用
    定义规范 如果扩展可以扩展 这是一个接口可以更改实现类

    BeanDefintion Bean 的定义信息 读取到了xml所有属性 准备去通过反射去实例化 但是不能直接反射 考虑扩展性
    在beanDefinition创建需要改变bean的个性化修改怎么办 比如@value怎么做 因为定义信息在BeanDefintion 里面 数据也在这里
    BeanFactoryPostProcessor (bean工厂后置处理器

    抽象自动代理创建者图片.png图片.png自定义BeanFactoryPostProcessor 交给spring管理之后就能调用图片.png获取bean 对象时会调用

    图片.png图片.pngaplicationContext 设置 Aware 忽略

    代理详情
    图片.png
    图片.png图片.png图片.png图片.png

    图片.png
    Bean的创建流程
    图片.png

    图片.png图片.png图片.png图片.pngprepareRefresh 准备刷新 记录时间 记录日志
    env 获取环境对象验证属性资源
    存储预刷新的监听器(观察者模式)
    2.刷新beanfactory 获得beanFactory
    图片.png 如果有工厂销毁 关闭 创建一个新工厂创建一个defaultListable bean工厂
    图片.png图片.png
    beanfactory的初始化操作 设 置 属性值设置忽略aware

    图片.png
    factory后置增强

    图片.png循环beanFactoryPostProcessor