如何将Spring Bean的生命周期与webapps的生命周期联系起来?

发布于 2021-02-01 13:24:07

我想创建一个具有start()stop()方法的bean
。当webapp的上下文处于活动状态时,start()在Spring的运行时启动期间被调用。取消部署或停止webapp时,将stop()调用该方法。

这是正确的吗:我start()@PostConstruct和注释stop()方法@PreDestroy

通常,在servlet世界中,我编写了一个ServletContextListener。我可以从ServletContextListener访问ApplicationContext吗?

关注者
0
被浏览
173
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    您可以按照您的描述注释您的start()stop()方法,也可以告诉Spring显式调用它们,例如

    <bean class="MyClass" init-method="start" destroy-method="stop"/>
    

    至于ServletContextListener,它将无法轻松访问Spring上下文。最好使用Spring自己的生命周期来进行bean初始化。



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看