一、前言
在很多系统中,通常会涉及到某个业务需要进行各种状态的切换操作,例如在审批流程场景下,某个审批的向下流转需要依赖于上一个状态的结束,再比如电商购物场景中,一个订单的生命周期往往伴随着不同的状态,比如待支付,支付完成,已发货等等,状态的存在,让一个业务的完整流程得以串联,所以状态在真实的场景中具有重要的意义。
二、spring状态机介绍
在开始学习spring状态机之前,有一些概念需要弄清楚,弄清这些概念,才能更好的理解spring状态机。
2.1 什么是状态
在java中,状态(State)是指对象在某一时刻所处的条件或情况,类比于生活中的场景理解,一台机器有运行和停止状态,一个门有关闭和打开状态。状态通常是描述某种事务在某个时刻所处的一种情形。
在Spring状态机中,状态(State)是指对象在某一时刻所处的条件或情况。状态描述了对象的特定属性、行为或情况,是有限状态机(Finite State Machine,FSM)模型中的一个重要概念。
2.2 状态的几个概念
这里特指spring状态机中关于状态的描述。在spring中,状态机通常是有限状态机,即事务实际发生的情形,其状态是可控的,在一定的范围内发生。具体来