附源码:https://gitee.com/Gjson/SpringCloud.git
Spring StateMachine框架可能对于大部分使用Spring的开发者来说还比较生僻,该框架的主要功能是帮助开发者简化状态机的开发过程,让状态机结构更加层次化
介绍Spring StateMachine状态机实现、自定义初始状态及监听器。
@Configuration @EnableStateMachine public class MyStateMachineBuilder extends EnumStateMachineConfigurerAdapter<States, Events> implements Builder , InitializingBean{ Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired BeanFactory beanFactory; private States states; @Override public States getName() { logger.info("Builder getName"); return states; } @Override public void setName(States states){ this.states=states; } @Override public void configure(StateMachineStateConfigurer<States, Events> states) throws Exception { states .withStates() .initial(States.UNPAID) .states(EnumSet.allOf(States.class)); } @Override public void configure(StateMachineTransitionConfigurer<States, Events> transitions) throws Exception { transitions