核心概念

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