Spring Boot CLI安装与HelloWorld:快速入门指南
在我之前的文章《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 AutoConfigure组件来解决所有依赖项并执行应用程序。它内部包含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。我们可以在https://start.spring.io/ 上下载Spring Boot CLI软件(这是一个Spring Initializr Web接口,我们会在后续的文章中详细讨论这个组件)。请按照以下步骤在Windows环境中安装和设置Spring Boot CLI软件。
- 使用Spring Initializr下载Spring Boot CLI zip文件。
点击“下载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 Boot CLI版本,如下图所示。
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组件,如视图、视图解析器等。
- 没有
web.xml
和DispatcherServlet
声明。 - 没有构建脚本来创建应用程序的war文件。
- 无需构建war文件即可部署此应用程序。
现在Spring Boot HelloWorld示例文件夹的内容如下。首先运行应用程序并查看结果,然后我们将回答这个问题:那么是谁会为我们的Spring Boot HelloWorld应用程序提供所有这些东西呢?
现在我们使用Spring MVC RestController准备好了Spring Boot HelloWorld示例。是时候运行和测试这个示例来了解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组件,如视图、视图解析器等。
- 没有
web.xml
和DispatcherServlet
声明。 - 没有构建脚本来创建应用程序的war文件。
- 无需构建war文件即可部署此应用程序。
回答这个问题:这是Spring Boot核心组件、Groovy编译器(groovyc)和Groovy的JAR依赖管理器Groovy Grape的责任。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 IDE来回答所有这些问题。关于Spring Boot CLI就是这些。如果您有任何问题,请留言。