在我之前的帖子“Spring Boot入门介绍”和“Spring Boot组件及内部原理”中,我们已经讨论了Spring Boot的基础知识和四个主要Spring Boot组件的使用。现在我们将挑选一个Spring Boot组件:CLI,并详细讨论它。
什么是Spring Boot CLI?
Spring Boot CLI(命令行界面)是一个Spring Boot软件,用于从命令提示符运行和测试Spring Boot应用程序。当我们使用CLI运行Spring Boot应用程序时,它内部使用Spring Boot Starter和Spring Boot AutoConfigurate组件来解决所有依赖并执行应用程序。它内部包含Groovy和Grape(JAR依赖管理器)来添加Spring Boot默认设置并自动解决所有依赖。我们将讨论Windows环境中的CLI安装、CLI设置和CLI命令。在其他环境中也几乎相同。
Spring Boot CLI安装
我们可以使用Windows安装程序或Zip文件安装Spring Boot CLI软件。这两种方法都很容易安装,并且将提供相同的Spring Boot CLI软件。我们将使用使用Zip文件的简单方法。我们将使用Spring Boot的最新版本:1.2.3.RELEASE我们可以在以下网址下载Spring Boot CLI软件:https://start.spring.io/(这是一个Spring Initilizr Web界面。我们将在接下来的帖子中详细讨论这个组件。)请按照以下步骤在Windows环境中安装和设置Spring Boot CLI软件。
- 使用Spring Initilizr下载Spring Boot CLI zip文件
单击“Download Spring CLI Zip”按钮,如下所示:一旦我们将Spring Boot CLI Zip文件下载到本地文件系统中,它看起来像这样。
– 将spring-boot-cli-1.2.3.RELEASE.zip文件解压缩到我们的本地文件系统中。
– 设置Windows系统中的Spring Boot CLI环境变量,如下所示。
set PATH=D:\spring-boot-cli-1.2.3.RELEASE\bin;%PATH%
spring --version
我们可以使用“spring –help”命令来了解Spring Boot CLI版本,如下所示。
spring --help
现在我们的Spring Boot CLI安装过程已经成功完成。在讨论Spring Boot“HelloWorld”示例之前,我们首先会看到如何从命令提示符中运行Groovy脚本。
Spring Boot“spring”命令
Spring Boot CLI软件提供了一个“spring”命令,用于从命令提示符中运行Spring Boot Groovy脚本。正如我们之前所看到的,Spring Boot“spring –help”命令有许多选项可用于此命令的不同目的。我们要在这里使用的一个重要选项是“run”选项。“spring”命令语法:
spring run <SpringBoot-Groovy-Scriptname>
这是一个Spring Boot应用程序的Groovy脚本文件名。我们将使用此命令来执行我们的Spring Boot HelloWorld示例。现在是时候使用Spring Boot CLI来处理简单的HelloWorld Spring Boot示例了。
Spring Boot HelloWorld 示例
现在我们将开发一个Spring Boot MVC RestController 示例。这是Pivotal团队在Twitter上发布的第一个示例,旨在展示Spring Boot框架的强大功能。请按照以下步骤开发Spring Boot HelloWorld 示例:
- 在我们的本地文件系统中创建一个“HelloWorld”文件夹,以放置我们的Groovy脚本。
- 使用以下内容开发一个Groovy脚本文件:
@RestController
class HelloWorld {
@RequestMapping("/")
String hello() {
"Hello JournalDev World."
}
}
将此文件命名为HelloWorld.groovy。这里“.groovy”扩展名是必需的。代码说明
- 使用Spring 4 MVC @RestController 注解定义一个REST控制器。
- 使用Spring MVC @RequestMapping 注解定义一个映射URL“/”。
- 定义一个方法来返回一个字符串给客户端或Web浏览器。
代码观察 如果我们观察我们的HelloWorld.groovy文件,我们可以找到以下重要点。
- 没有导入
- 没有其他XML配置来定义Spring MVC组件,如Views、ViewResolver等。
- 没有web.xml和没有DispatcherServlet声明
- 没有构建脚本来创建我们的应用程序war文件
- 不需要构建war文件来部署这个应用程序
那么谁会为我们的Spring Boot HelloWorld应用程序提供所有这些东西呢?首先运行应用程序并查看结果,然后我们会回答这个问题。-现在Spring Boot HelloWorld示例文件夹看起来是这样的。
现在我们的Spring Boot HelloWorld示例已经准备好了,带有Spring MVC RestController。现在是时候运行和测试这个示例,以了解Spring Boot框架的威力。
运行Spring Boot HelloWorld示例
请按照以下步骤测试我们的Spring Boot HelloWorld示例应用程序:
- 在我们本地文件系统的“HelloWorld”文件夹中打开命令提示符。
- 执行以下命令
spring run HelloWorld.groovy
- 观察“spring run”命令控制台的输出。
如果我们在这里观察,当我们执行“spring run HelloWorld.groovy”时,它会在默认端口号8080启动嵌入式Tomcat服务器。现在我们的Spring Boot HelloWorld示例应用程序已经启动并运行。现在是测试的时候了。注意: 如果我们观察上面的屏幕截图,我已经突出显示了“SpringApplication”类文件。这里的o.s.boot.SpringApplication表示org.springframework.boot.SpringApplication类。什么是SpringApplication?SpringApplication有什么用途?请参考我的即将发布的文章来回答这些问题。- 打开浏览器并访问以下链接。
访问此URL:https://localhost:8080/
现在我们能够访问我们的第一个Spring Boot MVC RESTful WebService。
如果我们观察这个Spring Boot应用程序,我们可能会产生一个问题:是谁为我们的Spring Boot HelloWorld应用程序提供所有这些东西的?
- 没有导入
- 没有其他XML配置来定义Spring MVC组件,如Views、ViewResolver等
- 没有web.xml,也没有DispatcherServlet的声明
- 没有构建脚本来创建我们的应用程序war文件
- 不需要构建war文件来部署此应用程序
这个问题的答案是:Spring Boot 核心组件、Groovy 编译器(groovyc)和 Groovy Grape(Groovy 的 JAR 依赖管理器)负责这些责任。Spring Boot 组件使用 Groovy 编译器和 Groovy Grape 提供一些默认设置,如添加所需的导入、提供所需的配置、解析 jar 依赖项、添加 main() 方法等。作为 Spring Boot 开发者,我们不需要担心这些事情。Spring Boot 框架会为我们处理所有这些事情。这就是 Spring Boot 框架的美妙之处。通过这种方式,Spring Boot 框架避免了大量样板代码和 Spring 配置,减少了开发时间,提高了生产率。在这里,我们没有详细讨论 Spring Boot 注解、Spring Boot API、Spring Boot 应用程序中 main() 方法的用途等。我们将在以后的帖子中使用 Spring Boot IDEs 来回答所有这些问题。关于 Spring Boot CLI 就是这些。如果您有任何问题,请留言。
Source:
https://www.digitalocean.com/community/tutorials/spring-boot-cli-setup-and-helloworld-example