Spring State Machine - Почему в документации используются статические классы - PullRequest
0 голосов
/ 19 сентября 2019

В Spring Statemachine основной пример использования static классов для @Configuration

@Configuration
@EnableStateMachine
static class Config1 extends EnumStateMachineConfigurerAdapter<States, Events> {

И бобов

@WithStateMachine
static class MyBean {

Также используется @Autowired:

static class MyApp {
   @Autowired
   StateMachine<States, Events> stateMachine;

Это старая / примерная документация, которую можно игнорировать, или есть реальная причина / необходимость использовать статические классы?

Ответы [ 2 ]

1 голос
/ 21 сентября 2019

Это старая / примерная документация, которую можно игнорировать или есть реальная причина / необходимость использовать статические классы?

Да.

Нет необходимости в статике- посмотрите последние примеры в Приложениях -> Быстрый пример - https://docs.spring.io/spring-statemachine/docs/2.1.3.RELEASE/reference/#quick-example и даже в предварительной версии 3.0.0M1 - https://docs.spring.io/spring-statemachine/docs/3.0.0.M1/reference/#appendices

0 голосов
/ 19 сентября 2019

Если вы используете аннотации @EnableStateMachine и @EnableStateMachineFactory, они не обязательно должны быть статичными.Однако, если вы не используете эти аннотации и хотите создать и настроить их, вы должны использовать статические.

Все функции для @WithStateMachine можно включить с помощью аннотации @EnableWithStateMachine, которая просто импортирует необходимую конфигурацию в SpringКонтекст приложения.И @EnableStateMachine, и @EnableStateMachineFactory уже аннотированы этим, поэтому пользователю не нужно добавлять его снова.Однако, если машина собрана и настроена без использования адаптеров конфигурации, необходимо использовать @EnableWithStateMachine, чтобы использовать функции с @WithStateMachine.Идея для этого показана ниже ...

Проверьте эту документацию: StateMachine

...