编程式

在编程模型中,可以将 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
	};
}
© . This site is unofficial and not affiliated with VMware.