跳到主要内容

常见问题解答

DeepSeek V3 中英对照 FAQ

本章回答了 Spring Statemachine 用户最常提出的问题。

状态变更

如何自动转换到下一个状态?

你可以从以下三种方法中选择:

  • 实现一个动作,并向状态机发送适当的事件,以触发向正确目标状态的转换。

  • 在状态中定义一个延迟事件,并在发送事件之前发送另一个被延迟的事件。这样做可以在更方便处理该事件时引起下一个适当的状态转换。

  • 实现无触发器转换,当进入状态并完成其动作后,自动引起向下一状态的转换。

扩展状态

如何在状态机启动时初始化变量?

状态机中的一个重要概念是,除非触发器导致状态转换从而触发操作,否则实际上不会发生任何事情。然而,尽管如此,当状态机启动时,Spring Statemachine 总是有一个初始转换。通过这个初始转换,你可以在 StateContext 中运行一个简单的操作,该操作可以使用扩展状态变量做任何它喜欢的事情。