博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 容器中的Bean 的生命周期
阅读量:6690 次
发布时间:2019-06-25

本文共 901 字,大约阅读时间需要 3 分钟。

hot3.png

在传统的java应用中,Bean的生命周期是 当使用 new 关键字进行 实例化对象后,Bean就创建完成,当Bean不再被引用时,JAVA Gc进行可达性分析后,进行垃圾回收Bean销毁。

相比之下Spring 容器中的Bean的生命周期就显的复杂很多,如下图:

5ee31bc0023a0a7a3f8c0d7c9978610a821.jpg

Spring Bean注入的过程:

1:Spring 对Bean进行实例化

2:Spring将值和Bean的引用注入到Bean对应的属性中

3:如果Bean实现了BeanNameAware接口,Spring 将Bean的Id 传递给setBean-Name方法;

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

5:如果Bean实现了ApplicationContextAware接口,Spring将调用setApplicationContext()方法,将Bean所在的应用上下文的引用传过来

6:如果Bean实现了BeanPostProcessor接口,Spring将调用他们的Post-ProcessorBeforeInitializtion方法()

7:如果Bean实现了 InitializingBean接口,Spring将调用它们的after-PropertiesSet()方法,类似的如果Bean使用init-method声明了初始化方法,该方法也会被调用。

8:如果Bean实现了BeanPostProcessor接口,Spring将调用它们的Post-ProcessorAfterInitialization()方法

9:此时Bean已经准备就绪,可以被应用程序使用了,它们将一直驻留再应用上下文中,知道被应用上下文销毁。

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

转载于:https://my.oschina.net/u/3905482/blog/1859227

你可能感兴趣的文章
关闭windows的默认共享
查看>>
react开发环境搭建
查看>>
数据库读写分离
查看>>
社交是微信营销
查看>>
2008 R2 证书服务器应用详解
查看>>
hive 动态分区太多问题
查看>>
Windows Server 2008 RemoteApp(二)---部署激活远程桌面授权服务器
查看>>
读取日志文件开发总结
查看>>
IOS --React Native
查看>>
Linux CPU
查看>>
Linux/Centos ntp时间同步,联网情况和无网情况配置
查看>>
初级网络运维工程师比赛题目
查看>>
跨交换机实现vlan实验报告
查看>>
jquery easyui滚动条部分设置介绍
查看>>
cannot find -lxxx问题
查看>>
预防云端开源项目打包 Redis Labs再更改模块
查看>>
超惊人!去年发生的身分外泄安全事件是2017的4倍
查看>>
oracle sqlplus免安装的配置instantclient-basiclite
查看>>
Java开发GUI之选择列表
查看>>
一、分布式商城架构逻辑图
查看>>