首页 > 解决方案 > 在 spring 提供的这么多事件中 - 哪个事件是正确的事件来监听我的应用程序的数据缓存

问题描述

在我的 spring 应用程序中,我想缓存一些数据。为了完成这个任务,我为事件 contextRefreshEvents 实现了一个监听器。唯一的问题是这个事件何时会被 spring 触发以及多少次,因为我不希望我的数据再次被缓存。

当我浏览一些链接时,例如: https ://www.baeldung.com/spring-context-events 提到弹簧将在“初始化或刷新 ApplicationContext ”期间引发此事件。初始化很好,因为这发生在我们启动服务器时,所以这个事件只会被触发一次,但我想要更多关于应用程序上下文刷新部分的信息。什么时候会刷新应用上下文?

标签: javaspringspring-boot

解决方案


在 spring 中刷新上下文,以应用程序到应用程序。如果您使用的是 spring-boot,则无法刷新上下文,因为它是不可刷新的上下文。

在其他情况下,如果您使用基于 Xml 的上下文加载,则可以。在运行期间,如果您正在更改某些类并希望将修改后的类作为正在运行的应用程序的一部分加载,则意味着您可以删除该类的现有上下文并添加新的。所以这是一部分。如果你认为有很多东西会改变,那么你可以使用刷新。

还有一件事,如果你使用刷新,那么它不会影响现有的 @Autowired 东西。所以要小心。在继续之前检查他们的文档以获取各种可刷新的上下文。


推荐阅读