enable
Spring `@Configuration' クラスでこれらのアノテーションを使用すると、アプリケーション コンテキストに登録される Bean 名を定義するだけです。例で説明するのが最も簡単です:
@EnableStateMachine
StateMachine
豆としてstateMachine
。
@EnableStateMachine(name = "fooMachine")
StateMachine
豆としてfooMachine
。
@EnableStateMachine(name = {StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, "fooMachine"})
StateMachine
stateMachine
Bean エイリアスを持つ BeanとしてfooMachine
。
@EnableStateMachineFactory
StateMachineFactory
豆としてstateMachineFactory
。
@EnableStateMachineFactory(name = "fooMachineFactory")
StateMachineFactory
豆としてfooMachineFactory
。
@EnableStateMachineFactory(name = {StateMachineSystemConstants.DEFAULT_ID_STATEMACHINEFACTORY, "fooMachineFactory"})
StateMachineFactory
stateMachineFactory
Bean エイリアスを持つ BeanとしてfooMachineFactory
。
それ以外は@Configuration
(StateMachineConfigurerAdapter を拡張する) クラスの名前は重要ではありません。@Configuration
Spring では、クラスも bean として作成され、以下のクラスが Spring Application Context に bean として存在すると考えられますmyConfig.MachineFactoryConfig
。不適切な名前のクラスは Bean オーバーライドをもたらす可能性があるため、Spring で覚えておくべきことは 1 つだけです。
public class MyConfig {
@Configuration
@EnableStateMachineFactory
public static class MachineFactoryConfig extends StateMachineConfigurerAdapter<String, String> {
}
}
machineId
docs State Machine IDに新しいセクションを追加しました。(次のリリースが出るまでのスナップショット ビルドのみ)