Имея эти аннотации enable
с помощью классов Spring `@Configuration ', просто определяйте имена компонентов, которые регистрируются в контексте приложения. Самый легкий объяснил с примерами:
@EnableStateMachine
StateMachine
, как фасоль stateMachine
.
@EnableStateMachine(name = "fooMachine")
StateMachine
, как фасоль fooMachine
.
@EnableStateMachine(name = {StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, "fooMachine"})
StateMachine
, как фасоль stateMachine
с бобовой псевдонимом fooMachine
.
@EnableStateMachineFactory
StateMachineFactory
, как фасоль stateMachineFactory
.
@EnableStateMachineFactory(name = "fooMachineFactory")
StateMachineFactory
, как фасоль fooMachineFactory
.
@EnableStateMachineFactory(name = {StateMachineSystemConstants.DEFAULT_ID_STATEMACHINEFACTORY, "fooMachineFactory"})
StateMachineFactory
, как фасоль stateMachineFactory
с бобовой псевдонимом fooMachineFactory
.
Помимо этого, класс @Configuration
(который расширяет StateMachineConfigurerAdapter) не имеет значения. Мысль весной a @Configuration
класс также создается как bean, что означает, что нижеприведенный класс будет существовать в Spring Application Context как bean myConfig.MachineFactoryConfig
. Только одна вещь, которую нужно помнить весной, так как плохо названный класс может привести к замене bean!
public class MyConfig {
@Configuration
@EnableStateMachineFactory
public static class MachineFactoryConfig extends StateMachineConfigurerAdapter<String, String> {
}
}
Что приходит machineId
я просто добавил новый раздел DOCS State Machine ID. (Только в создании моментальных снимков, пока мы не получим следующий выпуск)
Если у вас встроенный код, отметьте его обратными окнами ('\' '). Это поможет сделать ваш вопрос более читаемым. – Chris