1、介绍
以下是Spring Statemachine官方文档的定义。Spring Statemachine(SSM)是一个框架,它允许应用程序开发人员在Spring应用程序中使用传统的状态机概念。SSM提供以下功能:
- 易于使用的平面(一级)状态机,用于简单的用例。
- 分层状态机结构,以简化复杂的状态配置。
- 状态机区域提供更复杂的状态配置。
- 触发器、转换、保护和操作的使用。
- 类型安全的配置适配器。
- 状态机事件侦听器。
- 与Spring IoC集成,将bean与状态机相关联。
2、使用场景
在下列情况下,项目是使用状态机的最佳候选对象:
- 您可以将应用程序或其部分结构表示为状态。
- 你想把复杂的逻辑分解成更小的可管理的任务。
- 应用程序已经遇到了并发问题(例如)异步发生的事情。
在以下情况下,您已经在尝试实现状态机:
- 使用布尔标志或枚举对情况进行建模。
- 具有仅对应用程序生命周期的某些部分有意义的变量。
- 循环通过if-else结构(或者,更糟的是,多个这样的结构),检查是否设置了特定的标志或枚举,然后对存在或不存在标志和枚举的某些组合时如何做进一步的例外。
3、系统要求
Spring Statemachine是用JDK 8(所有工件都兼容JDK 7)和Spring框架构建和测试的。它不需要核心系统中Spring框架之外的任何其他依赖项。
其他可选部分(例如使用分布式状态)依赖于Zookeeper,而状态机示例依赖于spring shell和spring boot,后者将其他依赖性拉到框架本身之外。另外,可选的安全性和数据访问功能与Spring Security和Spring Data有依赖关系。
下表描述了可用于Spring Statemachine的模块。
| 模块 | 描述 |
|---|---|
|
| The core system of Spring Statemachine. |
|
| Common recipes that do not require dependencies outside of the core framework. |
|
|
|
|
| Common support module for |
|
| Support module for |
|
| Support module for |
|
| Support module for |
|
| Zookeeper integration for a distributed state machine. |
|
| Support module for state machine testing. |
|
| Support module for Spring Cloud Cluster. Note that Spring Cloud Cluster has been superseded by Spring Integration. |
|
| Support module for UI UML modeling with Eclipse Papyrus. |
|
| Support module for Spring Boot. |
|
| Bill of Materials pom. |
|
| Spring Boot starter. |
SpringStatemachine(SSM)是Spring框架的一个组件,旨在简化状态机的实现与管理。它提供了平面状态机、分层状态机及状态机区域等功能,适用于各种复杂度的应用场景。SSM与Spring IoC集成,支持类型安全配置、事件监听等特性,适用于解决并发问题和逻辑分解需求。SSM在JDK8和Spring框架上构建,可选地支持Zookeeper、SpringSecurity、SpringData等模块。
7172

被折叠的 条评论
为什么被折叠?



