文档章节

spring Bean 生命周期

地瓜2013
 地瓜2013
发布于 2014/04/21 11:22
字数 388
阅读 602
收藏 10

spring中Bean的生命周期

  

        实例化----》填充属性-------》调用BeanNameAware的setBeanName()方法-------》调用BeanFactoryAware的             setBeanFactory()方法---------》调用ApplicationContextAware的setApplicationContext()方法---------------》调用BeanPostprocessore的预初始化方法--------》调用InitialzingBean的afterPropertiesSet()方法-----》调用定制的初始化方法---------》调用Beanprocessors的后初始化方法-------》bean可以使用--------》容器关闭--------》调用DisposableBean的destroy()方法--------》调用定制的销毁方法-----》结束



  1. Spring对Bean进行实例化。

    2.Spring将值和Bean的引用注入进Bean对应的属性中。

    3.如果Bean实现了BeanNameAware接口,Spring将Bean的ID传递给setBeanName()的接口方法。

    4.如果Bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()的接口方法,将BeanFactory容器实例传   入

    5.如果Bean实现了ApplicationContentAware接口,Spring将调用setApplicationContext()接口方法,将上下文的            引用传入

    6.如果Bean实现了BeanPostProcessor接口,Spring将调用他们的postProcessBeforeInitialization()接口方法。

    7. 如果Bean实现了Initialization接口,Spring将调用afterPropertiesSet()接口。类似的,如果bean使用init-method            声明了初始化方法,该方法也会被调用。

    8.如果Bean实现了BeanPostProcessor接口,Spring将调用postProcessorAfterinitialization()方法。

    9.此时此刻Bean已经准备就绪,可以被应用程序使用了,他们将一直驻留在应用上下文中,直到上下文销毁。

    10.如果Bean实现了DisposableBean接口,Spring将调用他的destroy()接口方法。同样,如果Bean使用destroy-                method声明了销毁方法,该方法也会被调用。


  

   


© 著作权归作者所有

下一篇: Hibernate 事务
地瓜2013

地瓜2013

粉丝 2
博文 77
码字总数 8799
作品 0
大兴
程序员
私信 提问
Spring Bean的生命周期,《Spring 实战》书中的官方说法

连着两天的面试 ,都问到了 Spring 的Bean的生命周期,其中还包括 昨晚一波阿里的电话面试。这里找到了Spring 实战中的官方说法。希望各位要面试的小伙伴记住,以后有可能,或者是有时间 去看...

致未来的自己
2018/08/02
0
0
Spring中管理Bean依赖注入之后和Bean销毁之前的行为

对于Singleton作用域的Bean,Spring容器将会跟踪它们的生命周期,容器知道何时实例化结束、何时销毁。Spring可以管理Bean在实例化结束之后和Bean销毁之前的行为。 Bean依赖关系注入之后的行为...

摆渡者
2014/03/06
5.4K
0
spring4.0之二:@Configuration的使用

从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfi...

文文1
2018/06/01
35
0
Spring中Configuration的理解

从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfi...

吴伟祥
2018/06/28
81
0
分析spring源码第七篇:bean的生命周期

bean的生命周期 一. 其实在查看源码BeanFactory时,就会发现源码就介绍了bean的生命周期,原文如下: 二. bean的实例化过程如下图: bean的生命周期流程图如下图: 三. Bean实例生命周期的执...

潇洒的活着
2018/08/30
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
23分钟前
5
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
26分钟前
4
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
52分钟前
4
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
7
0
前端技术之:webpack热模块替换(HMR)

第一步:安装HMR中间件: npm install --save-dev webpack-hot-middleware 第二步:webpack配置中引入webpack对象 const webpack = require('webpack’); 第三步:增加devServer配置项: ho......

popgis
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部