编程方式
在编程模型中,CommandRegistration
可以定义为一个 @Bean
,它将自动注册。
@Bean
CommandRegistration commandRegistration() {
return CommandRegistration.builder()
.command("mycommand")
.build();
}
如果所有命令都有某些共同点,则会创建一个 *CommandRegistration.BuilderSupplier* 实例,该实例可以自动装配。此提供程序的默认实现返回一个新的构建器,因此您无需担心其内部状态。
以编程方式注册的命令会自动添加帮助选项中提到的 *帮助选项*。 |
如果定义了此提供程序类型的 Bean,则自动配置将回退,让您可以重新定义默认功能。
@Bean
CommandRegistration commandRegistration(CommandRegistration.BuilderSupplier builder) {
return builder.get()
.command("mycommand")
.build();
}
如果要集中修改上述提供程序提供的构建器实例,可以定义 CommandRegistrationCustomizer
Bean。
@Bean
CommandRegistrationCustomizer commandRegistrationCustomizerExample() {
return builder -> {
// customize instance of CommandRegistration.Builder
};
}