spring结合生命周期机制

 时间:2024-11-05 10:25:54

1、从Spring 2.5开始,您有三个控制bean生命周期行为的选项:

spring结合生命周期机制

2、如果为bean配置了多个生命周期机制,并且每个机制都配置了不同的方法名称,则每个配置的方法都按照此注释后列出的顺序执行。但是,如果 init() 为多个这些生命周期机制配置了相同的方法名称(例如, 对于初始化方法),则该方法将执行一次。

3、为同一个bean配置的多个生命周期机制具有不同的初始化方法,如下所示:

spring结合生命周期机制

4、Destroy方法以相同的顺序调用:

spring结合生命周期机制

5、Lifecycle 接口为任何具有自己的生命周期要求的对象(例如启动和停止某些后台进程)定义了基本方法:

spring结合生命周期机制

6、任何Spring管理的对象都可以实现该 Lifecycle 接口。然后,当它 ApplicationContext 自己接收到启动和停止信号时(例如,对于运行时的停止/重启场景),它将这些调用级联到 Lifecycle 该上下文中定义的所有实现。它通过委托给a来实现 LifecycleProcessor ,如下面的清单所示:

spring结合生命周期机制

7、请注意, LifecycleProcessor 它本身是 Lifecycle 接口的扩展。它还添加了另外两种方法来响应刷新和关闭的上下文。

spring结合生命周期机制

8、启动和关闭调用的顺序非常重要。如果任何两个对象之间存在“依赖”关系,则依赖方在其依赖之后开始,并且在其依赖之前停止。但是,有时,直接依赖性是未知的。您可能只知道某种类型的对象应该在另一种类型的对象之前开始。在这些情况下, SmartLifecycle 接口定义了另一个选项,即getPhase() 在其超级接口上定义的方法 Phased 。以下清单显示了 Phased 界面的定义:

spring结合生命周期机制

9、以下清单显示了 SmartLifecycle 界面的定义:

spring结合生命周期机制
  • 放置江湖如何二转二次传承攻略
  • 三国志13如何使用名品开宴会
  • 三国志13如何用兵法者的威名
  • 三国志13如何扩大同道栏
  • dota2新手怎么入门
  • 热门搜索
    什么床垫比较好 你莫走我不走是什么歌 ems什么意思 took是什么意思 秋天是什么颜色的 什么是商业保险 蚝油是什么 干咳是什么意思 寻租是什么意思 领导谈话自己该说什么