此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.0Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.0Spring中文文档

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

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

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

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

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

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

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

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