Spring--Bean的生命周期

Bean的生命周期

对于生命周期来说,每个对象都会有起初的初始化和最后的销毁,Bean也不例外;

Bean的生命周期可以简述为:Bean的定义--Bean的初始化--Bean的使用--Bean的销毁

所以,我们再探讨Bean的生命周期的时候,就可以利用它的初始化和销毁看一看Bean的生命周期

如图所示:

当然,只是这样是不行滴,还要在ApplicationContext.xml文件里面对这两个函数进行定义(毕竟,不定义的话,谁管你是谁?你没有编制欸!)

定义如图所示:

这样来运行的话,我们就会看到:

是不是没有出现销毁操作的提示语句啊?-->可以知道,这是在Java虚拟机里面运行的,而在关闭容器的时候,并没有对Bean进行销毁,所以,也就没有出现销毁操作的提示语句。

那么,我们要是想要让他对Bean对象执行销毁操作的话,应该去这么做:

方法一:close暴力拆解(手工关闭)

未执行销毁操作的话,代码是这样的:

改成这样之后:

就可以在容器关闭退出的时候,销毁掉Bean对象啦!(ctx.close();语句只能放在BookDao语句的后面,否则就会报错)

方法二:ctx.registerShutDownHook();(注册关闭钩子)

该语句放在BookDao语句上面还是下面都是可以正常运行的;

Bean的生命周期还可以通过接口控制(当然,这个只是属于了解内容啦!)

在之前。我们是定义了Bean和Service两个函数方法,这是通过Service接口来进行控制的,如图所示,需要在原有的继承接口那里再继承两个接口:

然后,由于还没有创建相应的实现方法,所以会先报错,选中其中一个接口,点击alter+insert,选择其中的最后两个实现方法,

这样的话,也能够对Bean进行接口的控制

posted @ 2022-11-14 19:01  yesyes1  阅读(70)  评论(0编辑  收藏  举报