此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.3spring-doc.cn

编程

在编程模型中,可以定义为 a ,它将自动注册。CommandRegistration@Beanspring-doc.cn

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

如果所有命令都有共同点,则 创建一个 CommandRegistration.BuilderSupplier,它可以 被自动装配。此供应商的默认实现返回 一个新的构建器,因此您无需担心其内部状态。spring-doc.cn

自动以编程方式注册的命令 添加 Help Options 中提到的 Help 选项

如果定义了此供应商类型的 bean,则 auto-configuration 将退后,为您提供重新定义默认功能的选项。spring-doc.cn

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

CommandRegistrationCustomizer如果你想集中 修改上述供应商提供的 Builder 实例。spring-doc.cn

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