在编程模型中,可以定义为一个,它将被自动注册。CommandRegistration@Bean

@Bean
CommandRegistration commandRegistration() {
	return CommandRegistration.builder()
		.command("mycommand")
		.build();
}

如果所有命令都有一些共同点,则 创建一个 CommandRegistration.BuilderProvider,它可以 是自动接线的。此供应商退货的默认实现 一个新的构建器,因此您无需担心其内部状态。

以编程方式自动注册的命令 添加“帮助选项”中提到的帮助选项
以编程方式自动注册的命令 添加“帮助选项”中提到的帮助选项

如果定义了此供应商类型的 Bean,则自动配置 将退缩,为您提供重新定义默认功能的选项。

@Bean
CommandRegistration commandRegistration(CommandRegistration.BuilderSupplier builder) {
	return builder.get()
		.command("mycommand")
		.build();
}

CommandRegistrationCustomizer如果要集中定义 Bean,可以定义 Bean 修改上述供应商给您的构建器实例。

@Bean
CommandRegistrationCustomizer commandRegistrationCustomizerExample() {
	return builder -> {
		// customize instance of CommandRegistration.Builder
	};
}