博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring之生命周期
阅读量:5141 次
发布时间:2019-06-13

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

1、容器中对的生命周期

spring可以管理 singleton作用域的bean的生命周期,spring可以精确地知道该bean何时被创建,何时被初始化完成,容器合适准备销毁该bean实例。

spring无法管理prototype作用域的bean的生命周期,每次客户端请求prototype作用域的bean,bean实例都会完全交给客户端管理,容器不再跟踪其生命周期,

spring管理生命周期有两个时期:

  注入依赖关系之后

  即将销毁bean之前

2、注入依赖关系之后

spring提供了两种方式在bean全部属性设置成功后执行特定行为,在spring注入依赖关系之后,spring会自动执行init-method指定的方法和实现InitializingBean的方法

如果既指定了init-method,又实现了InitializingBean接口,这时候spring会先执行InitializingBean接口中定义的方法,让后去执行method执行的方法。

 a、使用init-method属性

 b、实现InitializingBean

3、bean销毁之前的行为

spring提供了两种方式在bean销毁之前执行特定行为,在spring销毁之前,spring会自动执行destroy-method指定的方法和实现DisposableBean接口。

如果既指定了destroy-method,又实现了DisposableBean接口,这时候spring会先执行DisposableBean接口中定义的方法,然后去执行destroy-method执行的方法。

a、使用destory-method属性

  b、实现DisposableBean

4、协调不同作用域的bean

当两个singleton作用域的的bean存在依赖关系时,或者prototype作用域的bean依赖singleton作用域的bean,使用spring提供的依赖关系进行管理即可

但是当singleton作用域的bean依赖prototype作用的bean,spring如何处理呢

    singleton作用域的bean只有一次初始化的机会,他的依赖关系只在初始化阶段被设置,当singleton作用域的初始化之前,spring会先创建被依赖的prototype作用域的bean,然后才去初始化singleton作用域的bean,并将prototype bean注入singleton,以后无论何时通过singleton去访问prototype,得到的都是最初的那个prototype bean,相当于singleton bean把prototype bean变成了singleton bean行为。

 

转载于:https://www.cnblogs.com/pjfmeng/p/7543864.html

你可能感兴趣的文章
nodejs 入门一(环境及插件)
查看>>
Python进阶-----类的组合
查看>>
PHP连接数据库(mysql)
查看>>
常见几种浏览器兼容性问题与解决方案
查看>>
修改 Cloud image 的密码的简单方法
查看>>
centos 下安装显卡驱动步骤
查看>>
为php安装redis扩展模块并测试
查看>>
java笔记--String类对象解析与运用
查看>>
常用工具环境配置方案
查看>>
动态获取UILabel的bounds
查看>>
Codeforces 484C Strange Sorting
查看>>
终端clean清屏实现
查看>>
for循环查询,导致最后返回的list都是最后一个对象的问题
查看>>
Android事件分发机制的学习
查看>>
HTML&CSS 第一天 笔记
查看>>
layui中radio的动态加载(进入修改页面时,设置radio)
查看>>
Java web分页技术(jsp+servlet+Dao+javabean)
查看>>
获取Excel文件内容,0307通用
查看>>
【转载】C#检测客户端输入的内容是否含有危险字符串
查看>>
四则运算2
查看>>