02.SpringShell自定义命令-@ShellMethod

@ShellMethod 用于声明一个方法为Shell 命令, 默认命令名称为方法名, 命令所属分组为方法所在类类名, 可以通过自定义属性来做调整. 默认情况下, SpringShell 会将方法名作为命令名, 当方法名为驼峰方式时, SpringShell会自动替换为用-分隔的命令. 比如说 connectOracle 方法会被定义为connect-oracle 命令.

1. @ShellMethod 常用属性

  • value: 命令注释, 通过help 查看命令时显示内容
  • key: 指定命令别名, 可以同时定义多个别名. 当使用key定义别名之后, 方法名则不再是别名.
  • prefix: 指定名称参数前缀, 默认为--
  • group: 指定命令所属组, 默认分组为类名

2. 属性测试

2.1 自定义属性

@ShellMethod(value = "计算两个整数的加法", key = {"add","sum"}, group = "group1", prefix = "-")
public int add(int a, int b){
    return a + b;
}

2.2 查看分组名称

只能通过查看所有命令来看分组名称, 未指定分组名称前, group1为组件所在类名

shell:>help
AVAILABLE COMMANDS

Built-In Commands
        clear: Clear the shell screen.
        exit, quit: Exit the shell.
        help: Display help about available commands.
        script: Read and execute commands from a file.
        stacktrace: Display the full stacktrace of the last error.

group1
        add, sum: 计算两个整数的加法

2.3 调用命令

shell:>add 2 1
3
shell:>sum 2 1
3

2.4 参数前缀

shell:>add -a 2 -b 1
3
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,537评论 0 5
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,172评论 1 32
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,861评论 0 4
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,498评论 0 9
  • 对于一个20岁出头,刚走出校园的姑娘,能找到工作就实属不易了。我却嫌这嫌那,动不动就想炒老板鱿鱼有人,到了新的地方...
    小猫不是猫阅读 298评论 0 1