spring生产对象的生命周期包括创建、初始化、销毁。

一、创建

spring创建bean是何时创建的?
如果该bean是单例的,那么和工厂applicationContext的创建一起被创建;如果该bean是多例的,那么在使用时才会被创建。

二、初始化,一般用于资源的初始化

spring将bean注入后,会调用对象的初始化方法。

对象的初始化方法spring提供了两种方法。
1、实现spring提供的InitializingBean接口,通过实现afterPropertiesSet() 方法初始化对象。(与spring框架存在耦合)
2、提供一个自定义myinit()方法,在创建该bean时指定初始化方法init-method。

<bean id="user" class="com.sms.entity.User" init-method="myInit" />

如果提供了两种初始化方法,那么先执行afterPropertiesSet()再执行myInit()。

三、销毁,一般用于资源的释放

销毁方法只适用于scope为singleton的对象。

spring销毁bean前,会首先调用对象的销毁方法,再完成销毁操作。
spring什么时候销毁bean?
在关闭spring工厂时,spring会销毁所有的bean。
对象的销毁方法spring提供了两种方法。
1、实现spring提供的DisposableBean接口,通过实现destroy() 方法初始化对象。(与spring框架存在耦合)
2、自定义方法,在销毁该bean时指定销毁方法destroy-method。

<bean id="user" class="com.sms.entity.User" destroy-method="myDestory">

spring工厂生产对象时对象生命周期的三个阶段相关推荐

  1. Hibernate→HQL、query.list()返回数据类型、查询相关语句、分页、原生SQL、@注解、持久化对象状态及生命周期、一多关系、继承映射关系、逆向工程

    HQL Query实例与表 session通用工具类 Query对象 from 类→List<类>接收 映射类 仅查询商品 查询商品及所在商家 别名 返回数据类型定义 Iterator接收 ...

  2. (转)Spring管理的Bean的生命周期

    http://blog.csdn.net/yerenyuan_pku/article/details/52834011 bean的初始化时机 前面讲解了Spring容器管理的bean的作用域.接着我们 ...

  3. spring bean的作用域和生命周期

    一.spring bean的作用域 五种作用域:singleton.prototype.request.session.globalSession request.session和global ses ...

  4. Spring IOC:bean的生命周期与@Autowire(1)

    全系列文章: <Spring IOC:bean的生命周期与@Autowire(1)> <Spring IOC:bean的生命周期与@Autowire(2)> <Sprin ...

  5. IoC基础篇(一)--- Spring容器中Bean的生命周期

    IoC基础篇(一)--- Spring容器中Bean的生命周期 日出日落,春去秋来,花随流水,北雁南飞,世间万物皆有生死轮回.从调用XML中的Bean配置信息,到应用到具体实例中,再到销毁,Bean也 ...

  6. spring一: 容器以及bean生命周期

    spring框架的几个优点: 1. 轻量级  2. 针对接口编程,解耦合   3. aop编程   4. 方便集成各种优秀框架  5.非侵入式   6.容器 IOC(Inversion of Cont ...

  7. 关于FragmentManager动态管理Fragment时Fragment生命周期的探究

    Fragment是Android中的重要组件,在Android 3.0的时候添加进来. 关于Fragment的生命周期,我相信了解过的开发人员都应该把以下方法脱口而出:onAttach, onCrea ...

  8. Activity在旋转屏幕时的生命周期

    一.Activity的生命周期 1.Activity生命周期中的重要方法 (1).onCreate():表示Activity已经被创建.这是Activity生命周期中的第一个方法,Activity生命 ...

  9. Activity为singleTask模式时的生命周期

    Activity为singleTask模式时的生命周期 Activity A:android:launchMode="singleTask" Activity B:launchMo ...

  10. dialog 弹框时activity生命周期调用过程

    dialog 弹框时activity生命周期调用过程 这个问题,分两部分 在普通activity弹框dialog,activity的onPause方法会被调用吗? activity a中给dialog ...

最新文章

  1. pandas案例分析
  2. pythonexcel汇总_用python汇总excel表格数据-怎样用python遍历表格中的内容
  3. 从入门到精通聊聊区块链
  4. 网络犯罪分子为何针对中小企业?—Vecloud微云
  5. imp 只导入索引_使用imp导入表和索引至不同表空间方法
  6. php用重写算出圆柱体的体积,圆柱的体积
  7. import win32com.client在python中报错及其解决办法
  8. HTML5法律律师咨询公司响应式模板
  9. 【英语学习】【Level 08】U04 What I love L1 What's on your playlist?
  10. c语言中调用平均成绩,C语言、用调用函数、输入3个学生5门课程的成绩分别用函数求每个学生平均分每门课的平均分...
  11. QT实现简单的抽奖界面
  12. Alias Piping Solutions系列工厂设计软件
  13. JAVA——根据QQ群号得到idkey以及QQ群加群链接[网页版本]解决方案
  14. 沧州中考计算机考试时间,2019年沧州中考考试时间安排,沧州中考考试科目时间安排表...
  15. 各位老铁,善财读书会试运营了
  16. ​在Windows 10 下安装 Vmware 时遇到的问题和解决​方法
  17. 什么是静态测试?什么是动态测试?
  18. Android指南针代码示例
  19. 常见面试题整理--操作系统篇
  20. matlab两幅图重叠,matlab两幅图叠在一起

热门文章

  1. 开启 Truffle Ganache  MetaMask交互
  2. 如何用深度学习做自然语言处理?这里有份最佳实践清单
  3. 高效计算基础与线性分类器
  4. 2014年各种编程语言的薪资和市场需求
  5. 从0到1建立一张评分卡之可视化分析
  6. iis 7 php_Windows server 2008 下基于IIS7配置php7.2运行环境
  7. java getresourceasstream null_java踩坑记-getResourceAsStream
  8. Linux 如何获取PAGE size的大小?
  9. Oracle-PL/SQL基础
  10. spring批处理mysql语句_Spring框架——批处理(batch)和事务(Transaction)