您的位置:首页 > 娱乐 > 明星 > 福州网站设计知名乐云seo_网络广告投放平台_营销百度app下载手机版_北京seo公司司

福州网站设计知名乐云seo_网络广告投放平台_营销百度app下载手机版_北京seo公司司

2025/2/25 23:53:56 来源:https://blog.csdn.net/heyl163_/article/details/143572790  浏览:    关键词:福州网站设计知名乐云seo_网络广告投放平台_营销百度app下载手机版_北京seo公司司
福州网站设计知名乐云seo_网络广告投放平台_营销百度app下载手机版_北京seo公司司

Spring Shell是spring的一个子项目,通过Spring Shell可以快速构建一个终端应用。并且可以通过@ShellComponent注解很方便地自定义终端命令。

这篇文章就介绍一下如何在项目中使用Spring Shel

第一步:创建项目

创建一个springboot项目springboot-springshell

第二步:添加依赖

修改springboot依赖版本,添加spring-shell-starter的依赖。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.9</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>cn.edu.sgu.www</groupId><artifactId>springboot-springshell</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot-springshell</name><description>Spring Boot整合Spring Shell</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.shell</groupId><artifactId>spring-shell-starter</artifactId><version>2.1.9</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

第三步:定义命令

使用@ShellComponent+@ShellMethod自定义命令。

1、无参数命令

package cn.edu.sgu.www.shell.command;import org.springframework.shell.standard.ShellComponent;
import org.springframework.shell.standard.ShellMethod;/*** @author heyunlin* @version 1.0*/
@ShellComponent
public class Commands {@ShellMethod("初始化项目环境。")public String init() {// todoreturn "初始化项目环境完成...";}}

2、有参数的命令

package cn.edu.sgu.www.shell.command;import org.springframework.shell.standard.ShellComponent;
import org.springframework.shell.standard.ShellMethod;/*** @author heyunlin* @version 1.0*/
@ShellComponent
public class Commands {@ShellMethod("计算两个整数的和。")public int add(int a, int b) {return a + b;}}

3、设置参数选项

比如设置参数默认值

package cn.edu.sgu.www.shell.command;import org.springframework.shell.standard.ShellComponent;
import org.springframework.shell.standard.ShellMethod;
import org.springframework.shell.standard.ShellOption;/*** @author heyunlin* @version 1.0*/
@ShellComponent
public class Commands {@ShellMethod("打招呼:")public String greet(@ShellOption(defaultValue = "沐雨橙风ιε") String name) {return "Hello " + name;}}

4、设置参数校验

比如:设置参数最大值和最小值,可以使用Hibernate Validator的数据校验注解。

package cn.edu.sgu.www.shell.command;import org.springframework.shell.standard.ShellComponent;
import org.springframework.shell.standard.ShellMethod;import javax.validation.constraints.Max;
import javax.validation.constraints.Min;/*** @author heyunlin* @version 1.0*/
@ShellComponent
public class Commands {@ShellMethod("计算平方数。")public int sqrt(@Min(value = 1) @Max(value = 99) int n) {return n * n;}}

第四步:使用命令

启动项目,然后在控制台上就可以直接使用各种命令了,方法的参数直接在命令后面输入。

项目已经上传到git,可按需获取~

Spring Boot整合Spring Shell案例项目icon-default.png?t=O83Ahttps://gitee.com/muyu-chengfeng/springboot-springshell.git

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com