Spring中bean的生命周期,解释spring框架中bean的生命周期
目录
一、使用配置生命周期的方法二、生命周期控制——接口控制(了解)小结生命周期:从创建到消亡的完整过程
豆声明周期:bean从创建到销毁的整体过程
豆声明周期控制:在豆创建后到销毁前做一些事情
一、使用配置生命周期的方法
在BookDaoImpl中实现类中创建相应的方法:
//表示豆初始化对应的操作public void init(){ system。出去。println( init . );} //表示豆销毁前对应的操作public void destory(){ system。出去。println(毁灭. ));}应用程序上下文.可扩展标记语言配置初始化声明周期回调函数及销毁声明周期回调函数
!初始化方法:设置豆初始化生命周期回调函数- !-销毁方法:设置豆销毁生命周期回调函数,仅适用于单例对象-bean id=书道 class= com。我是IMA。道。impl。bookdaoimpl init-method= init destroy-method= destory /执行结果:
虚拟机退出,没有给豆销毁的机会。
可利用ClassPathXmlApplictionContext里的关闭方法主动关闭容器,就会执行销毁方法。
导入com。我是IMA。道。书道;导入组织。spring框架。语境。支持。classpathmlaplicationcontextpublic class appforlife cycle { public static void main(String[]args){ classpathmlaplicationcontext CTX=new classpathmlaplicationcontext(应用程序上下文。XML’);CTX。get bean( book Dao );书刀。save();//关闭容器CTX。close();}}执行结果:
不过这种方式比较暴力,容器还提供另外的方法
在AppForLifeCycle中用关闭钩子函数
//注册关闭钩子函数,在虚拟机退出之前回调此函数,关闭容器CTX。registershutdownhook();执行结果:
关闭钩子在任何时间都可以执行,关闭关闭比较暴力。
二、生命周期控制——接口控制(了解)
应用程序上下文.可扩展标记语言配置:
bean id= book service class= com。我是IMA。服务。impl。bookserviceimpl 属性名称= book Dao ref= book Dao //bean bookserviceimpl:
可以利用接口回调接口和一次性豆来设置初始化和销毁后的方法设置
导入com。我是IMA。道。书道;导入com。我是IMA。服务。图书服务;导入org。spring框架。豆子。工厂。一次性豆;导入org。spring框架。豆子。工厂。正在初始化bean公共类BookServiceImpl实现BookService,InitializingBean,一次性bean { private book Dao book Daopublic void setBookDao(BookDao BookDao){ system。出去。println(设置.);这个。书道=书道;} public void save(){ system。出去。println(图书服务保存.);书刀。save();}公共void destroy()抛出异常{系统。出去。println(“服务销毁”);} public void afterPropertiesSet()抛出异常{系统。出去。println(“服务初始化”);}}执行结果:
可以看出设置在执行在初始化的执行之后,当你的属性设置完以后,才去执行afterPropertiesSet,所有才叫afterPropertiesSet,在属性设置之后。
小结
生命周期总结
初始化容器
1、创建对象2、执行构造方法3、执行属性注入(设置操作)4、执行豆初始化方法使用bean
执行业务操作
关闭/销毁容器
执行豆操作
1、bean生命周期控制
配置
初始化方法销毁方法
接口(了解)
初始化bean可处置bean
2、关闭容器
可配置应用上下文
close()registerShutdownHook()
到此这篇关于一文搞懂春天中豆的生命周期的文章就介绍到这了,更多相关春豆生命周期内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。