当前位置: 首页 > 知识库问答 >
问题:

Spring事件生命周期

牛经赋
2023-03-14

要了解Spring事件是否适合我正在处理的任务,我需要了解它们是如何工作的,它们存储在哪里?因为我可以猜测它们存储在Spring应用程序上下文中,如果应用程序崩溃则会消失,我的猜测正确吗?

共有1个答案

岳池暝
2023-03-14

当直接调用方法会产生太多耦合时,打算使用Spring事件。如果需要跟踪事件以进行审核或重播,则必须自己保存事件。根据您的评论,根据应用程序的拓扑结构和用途,有许多方法可以实现这一点(列表不完整):

  1. 为表示事件的实体建模并将其存储在存储库中

最后,请确保您仔细评估哪些选项最适合您的需要。选项2到4都会带来严重的复杂性,分布式应用程序会给您的生活带来悲伤和痛苦。如果可能的话,选择最简单的选项,如果绝对必要,只选择其他选项。

 类似资料:
  • 生命周期事件 There are two module lifecycle events OnModuleInit and OnModuleDestroy. You should use them for all the initialization stuff and avoid to work in the constructor. The constructor should only be

  • 我需要检查当前租户是否正在更新自己的实体,并使用了注释。如果我传递了完整的对象<code>存储库。save()方法我获得了必要的,但一旦我传递了(通过映射器映射到实体), 就为空。既然启用了 ,那么不应该映射字段吗? 注释工作正常,即使我只使用ID( ),我也会得到所述属性。我还尝试过使用 方法(因为 不可更新),但它仍然给出空值。我可以在这些事件中执行必要的检查吗,或者有其他解决方案吗(我希望保

  • 问题内容: 我试图理解之间的差异和。 我知道可以对bean进行定义,即在创建bean实例之前先执行它,然后在实例化bean和调用生命周期事件之后再执行它。 这是不是在实例化之前就称为Spring生命周期事件的一部分,而不是Spring生命周期事件的一部分?请验证我的理解是否正确。 问题答案: 是一个接口,实现它的bean实际上是经过Spring生命周期的bean(下面的示例),但是这些bean不参

  • 我正在努力解决与RouterLink一起使用的Ionic的生命周期事件。 我将我的应用程序数据保存在一个JSON文件中,该文件在加载页面时使用url参数呈现每个项目。我需要按钮来转到下一个或上一个项目并刷新页面内容,即: 我在第1项(/讲座/item1)= 是否有任何方法/解决方法来重新加载组件并更新传递不同参数的状态? 我已经尝试使用useHistory挂钩,历史。replace(Source)

  • 一般来说,一个组件类由 extends Component 创建,并且提供一个 render 方法以及其他可选的生命周期函数、组件相关的事件或方法来定义。 {% include './share/simple-component.md' %} getInitialState 初始化 this.state 的值,只在组件装载之前调用一次。 如果是使用 ES6 的语法,你也可以在构造函数中初始化状态,

  • 当使用JPA的Hibernate实现并使用Spring数据源管理这些资源时,EntityManager会话何时关闭?例如,下面的基本模式让Spring服务层调用Spring DAO层(@repository)。DAO存储库自动调用PersistentContext的EntityManager并执行DB操作。我的问题是,在getData服务方法完成之后,EntityManager会话何时关闭?我之所