美文网首页
Spring之Aware

Spring之Aware

作者: 那谁319 | 来源:发表于2019-06-26 22:47 被阅读0次

    Aware

    • Aware提供了一种让用户实现了Aware接口的自定义bean能够感知到被spring管理的资源的能力。

    • Spring 框架本身提供的可以感知的资源列表如下图,实现这些接口的bean就可以感知到对应的资源信息,这些Aware接口的实现类都会在bean生命周期内把相应的Spring资源传递对应的bean。


      image.png
    • 比如实现了ApplicationContextAware接口的bean在执行setApplicationContext方法时就可以拿到ApplicationContext的信息。

    • Spring 容器初始化时的执行链有这么一部分

    • 1、refresh方法内部执行prepareBeanFactory方法


      image.png
    • 2、prepareBeanFactory方法内部添加了ApplicationContextAwareProcessor类


      image.png
    • ApplicationContextAwareProcessor的类图关系


      image.png
    • ApplicationContextAwareProcessor实现了接口BeanPostProcessor,我们知道实现了BeanPostProcessor接口的bean 在对象创建前后会执行postProcessBeforeInitialization和postProcessAfterInitialization,看下ApplicationContextAwareProcessor的postProcessBeforeInitialization的实现逻辑


      image.png

    相关文章

      网友评论

          本文标题:Spring之Aware

          本文链接:https://www.haomeiwen.com/subject/ceqkcctx.html