该版本仍在开发中,尚未被视为稳定。最新稳定版本请使用Spring Shell 3.4.1spring-doc.cadn.net.cn

命名

如果需要修改选项,可以选择长名称 用OptionNameModifier接口函数<字符串,字符串>. 在这个界面中,原始选项名字输入,修改后的名字输出。spring-doc.cadn.net.cn

修饰符可以定义为OptionSpec指挥注册, 默认为 Bean 或通过配置属性。修改器在OptionSpec在 take 优先于优先于一个全局定义的修饰符。默认情况下,没有定义的全局修饰符。。spring-doc.cadn.net.cn

你可以用 选项定义一个指挥注册.spring-doc.cadn.net.cn

CommandRegistration.builder()
	.withOption()
		.longNames("arg1")
		.nameModifier(name -> "x" + name)
		.and()
	.build();

将单个子加为类型OptionNameModifier这就变成了全局违约。spring-doc.cadn.net.cn

@Bean
OptionNameModifier sampleOptionNameModifier() {
	return name -> "x" + name;
}

也可以直接添加配置属性Spring.shell.Option.Naming.Case-type该类型自动配置基于定义的类型。spring-doc.cadn.net.cn

没错什么都不做,骆驼,,串烧,帕斯卡激活 的内置修饰符骆驼箱,snake_case,烤肉盒PascalCase分别。spring-doc.cadn.net.cn

如果在创作指挥注册Beans 直接,全局默认通过配置的 Properies 只有在使用预配置时才有效架构工人实例。 详见 [useing-shell-commands-programmaticmodel]。
spring:
  shell:
     option:
       naming:
         case-type: noop
         # case-type: camel
         # case-type: snake
         # case-type: kebab
         # case-type: pascal

例如,在这样的注释方法中定义的期权。spring-doc.cadn.net.cn

@ShellMethod(key = "option-naming-sample")
public void optionNamingSample(
	@ShellOption("from_snake") String snake,
	@ShellOption("fromCamel") String camel,
	@ShellOption("from-kebab") String kebab,
	@ShellOption("FromPascal") String pascal
) {}

默认情况下帮助对于该命令,命令显示名称来自直接来自@ShellOption.spring-doc.cadn.net.cn

OPTIONS
       --from_snake String
       [Mandatory]

       --fromCamel String
       [Mandatory]

       --from-kebab String
       [Mandatory]

       --FromPascal String
       [Mandatory]

定义spring.shell.option.naming.case-type=kebab默认修饰符被添加,选项名称看起来像。spring-doc.cadn.net.cn

OPTIONS
       --from-snake String
       [Mandatory]

       --from-camel String
       [Mandatory]

       --from-kebab String
       [Mandatory]

       --from-pascal String
       [Mandatory]