关键概念

Spring CLI 依赖于一些关键概念,这些概念贯穿整个项目

项目

项目: 托管在 GitHub 或 GitLab 中的“普通 Java 项目”。项目在 CLI 中注册,以便可以使用简单的名称来引用它们。

例如,如果您使用“jpa”名称注册使用 Spring Data JPA 的项目的 GitHub URL,则可以通过调用命令 boot new my-jpa-app jpa 命令从该项目创建新项目。同样,您可以通过调用 boot add jpa 命令将 JPA 功能添加到现有项目中。

与项目相关的命令包括project listproject addproject remove

项目目录

项目目录:项目目录是共享共同主题的项目的集合。

在使用 CLI 注册目录后,在使用boot newboot add命令时,项目将立即可用。目录是一个名为project-catalog.yaml的 YAML 文件。它包含项目仓库 URL 列表和关联的名称。目录托管在 GitHub 或 GitLab 上。

与项目目录相关的命令包括catalog listcatalog addcatalog remove

用户定义的命令

命令:这些是声明式定义的命令,允许您添加或修改代码和配置文件。

您还可以运行任意可执行文件来执行开发工作流程中常见的任意任务。用户定义的命令集成到 CLI 中,与内置命令的外观相同。

用户定义的命令包含三个部分:命令名称子命令名称选项。命令名称和子命令名称通过使用目录结构约定来定义。

例如,要创建一个新的用户定义的命令,其命令名称为controller,子命令名称为new,请创建以下目录结构

.spring/commands/controller/new

在此目录中,您可以有一个名为command.yaml的文件,该文件定义命令的描述、选项和默认值。此目录(和子目录)包含定义对项目采取的操作的操作文件。

操作文件

操作文件:这些定义可以对项目采取的操作。

角色

在您的 CLI 中,角色提供了一种在用户定义的命令之间组织和重用变量的方法。

Spring CLI 包含一个默认的无名角色,该角色始终存在。此外,角色可以与特定名称相关联,以进一步区分其目的和用途。这些角色存储在.spring/roles目录中的 YAML 文件中,该目录位于.spring/commands目录旁边。

这些角色允许您定义在操作文件中可访问的变量,从而提供了一种在命令之间共享数据的方法。

您还可以使用角色为命令行选项提供值。如果命令行选项没有指定值,并且角色变量已使用与命令选项相同的名称定义,则该命令将使用角色变量的值作为该特定命令选项的值。

与项目相关的常见角色命令包括role addrole removerole set