美文网首页
Spring中Bean生命周期

Spring中Bean生命周期

作者: JingJingLiu317 | 来源:发表于2020-12-04 14:59 被阅读0次

    运行于SpringBoot web环境,所以默认加载的是AnnotationConfigServletWebServerApplicationContext。WebApplicationContext启动则会扫描所有类,并创建所有Bean(延迟加载除外)。

    一般通过在Bean构造方法执行前后,Bean属性设置之后,Bean init方法执行前后,Bean destroy方法执行之后来干涉Bean的行为。

    1.实现了BeanFactoryPostProcessor接口的类,会在加载完配置文件后,扫描完所有Class后进行调用

    2.继承InstantiationAwareBeanPostProcessorAdapter类,在创建每一个Bean时都会执行,干涉Bean构造方法执行前后的逻辑

    3.实现了BeanPostProcessor接口的类,在创建每一个Bean时都会执行,干涉Bean的init方法执行前后的逻辑

    4.具体Bean实现BeanFactoryAware, BeanNameAware, InitializingBean, DisposableBean这些接口,干涉Bean属性设置之后,init方法执行之后,以及destroy方法执行之后(一般不会用,对于Bean的侵入性太高,更多通过自定义的init和destroy方法来替代)

    5.运行结果

    扫描包完成调用(若多次扫描包则会多次调用) 加载spring自身的Bean也会触发生命周期 自定义Bean生命周期 关闭容器

    相关文章

      网友评论

          本文标题:Spring中Bean生命周期

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