前言
定义状态机状态转换流程,利用AOP按需灵活控制执行状态转换的动作。
举例:定义公交路线 a->b->c->...->x->y->z,可配置一条快速公交路线(跳过一些站),a->c->e->...->x->z
思路
-
构造状态机
-
AOP控制action执行
实现
-
构造状态机
Configuration @EnableStateMachine public class StateMachineConfig extends EnumStateMachineConfigurerAdapter<States, Events> { @Override public void configure(StateMachineTransitionConfigurer<States, Events> transitions) throws Exception { // 可从配置文件中读取transitions } } -
AOP控制action执行- 实现
Spring State Machine Action接口,并注入到Spring容器,并放在同一包下 AspjectJ切点入口为Action下的execute()AspjectJ环绕通知处理控制Action是否执行
- 实现
结尾
如果文章对你有帮助,请点 赞👍🏻 支持一下。若有错误之处或有更好的建议,欢迎指正,谢谢。