核心概念
项目
项目:托管在 GitHub 或 GitLab 上的“普通 Java 项目”。项目注册到 CLI 后,可以使用简单的名称来引用它们。
例如,如果您使用名称“jpa”注册使用 Spring Data JPA 的项目的 GitHub URL,则可以通过调用命令boot new my-jpa-app jpa
命令从该项目创建一个新项目。同样,您可以通过调用boot add jpa
命令将 JPA 功能添加到现有项目中。
与项目相关的命令有project list
、project add
和project remove
。
项目目录
项目目录:项目目录是共享共同主题的项目的集合。
在使用 CLI 注册目录后,使用boot new
和boot add
命令时,项目即可使用。目录是一个名为project-catalog.yaml
的 YAML 文件。它包含项目仓库 URL 列表和关联的名称。目录托管在 GitHub 或 GitLab 上。
与项目目录相关的命令有catalog list
、catalog add
和catalog remove
。
用户自定义命令
命令:这些是声明式定义的命令,允许您添加或修改代码和配置文件。
您还可以运行任意可执行文件来执行在开发工作流中常见的任何任意任务。用户定义的命令集成到 CLI 中,看起来与内置命令相同。
用户定义的命令包含三个部分:命令名称
、子命令名称
和选项
。命令名称和子命令名称是通过使用目录结构约定来定义的。
例如,要创建一个命令名称为controller
、子命令名称为new
的新用户定义命令,请创建以下目录结构:
.spring/commands/controller/new
在此目录中,您可以有一个名为command.yaml
的文件,用于定义命令的描述、选项和默认值。此目录(和子目录)包含定义对项目采取的操作的操作文件。
角色
在您的 CLI 中,角色提供了一种在用户定义的命令之间组织和重用变量的方法。
Spring CLI 包含一个始终存在的默认匿名角色。此外,可以将角色与特定名称关联起来,以进一步区分其用途和用法。这些角色存储在.spring/roles
目录中的 YAML 文件中,该目录位于.spring/commands
目录旁边。
这些角色允许您定义在操作文件中可访问的变量,从而提供了一种在命令之间共享数据的方法。
您还可以使用角色为命令行选项提供值。如果命令行选项没有指定值,并且已使用与命令选项相同的名称定义了角色变量,则命令将使用该角色变量的值作为该特定命令选项的值。
一些与项目相关的常用角色命令有role add
、role remove
和role set
。