Spring 快速入门指南
您将构建什么
您将构建一个经典的“Hello World!”端点,任何浏览器都可以连接到它。您甚至可以告诉它您的姓名,它会以更友好的方式进行回复。您需要什么
集成开发环境 (IDE)
流行的选择包括IntelliJ IDEA、Spring Tools、Visual Studio Code或Eclipse,以及更多。
Java™ 开发工具包 (JDK)
我们推荐BellSoft Liberica JDK 版本 17。
步骤 1:启动一个新的 Spring Boot 项目
使用start.spring.io 创建一个“web”项目。在“依赖项”对话框中搜索并添加“web”依赖项,如屏幕截图所示。点击“生成”按钮,下载 zip 文件,并将其解压到计算机上的文件夹中。
由start.spring.io 创建的项目包含Spring Boot,这是一个使 Spring 能够在您的应用程序中工作的框架,但无需太多代码或配置。Spring Boot 是启动 Spring 项目最快捷、最受欢迎的方式。
步骤 2:添加您的代码
在您的 IDE 中打开项目,并在src/main/java/com/example/demo
文件夹中找到DemoApplication.java
文件。现在通过添加下面代码中显示的额外方法和注释来更改文件的内容。您可以复制粘贴代码或直接输入。
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
这是在 Spring Boot 中创建简单的“Hello World”Web 服务所需的所有代码。
我们添加的hello()
方法旨在获取名为 name 的字符串参数,然后在代码中将此参数与单词“Hello”
组合。这意味着,如果您在请求中将您的姓名设置为“Amy”
,则响应将为“Hello Amy”。
@RestController
注释告诉 Spring 此代码描述了一个应该通过 Web 提供的端点。@GetMapping(“/hello”)
告诉 Spring 使用我们的hello()
方法来响应发送到https://127.0.0.1:8080/hello
地址的请求。最后,@RequestParam
告诉 Spring 预期请求中包含 name 值,但如果不存在,则默认使用单词“World”
。
步骤 3:试一试
让我们构建并运行程序。打开命令行(或终端)并导航到包含项目文件的文件夹。我们可以通过发出以下命令来构建和运行应用程序
MacOS/Linux
./gradlew bootRun
Windows
.\gradlew.bat bootRun
您应该会看到一些与以下内容非常相似的输出
这里最后几行告诉我们 Spring 已启动。Spring Boot 的嵌入式 Apache Tomcat 服务器充当 Web 服务器,并在localhost
端口8080
上侦听请求。打开您的浏览器,并在顶部的地址栏中输入https://127.0.0.1:8080/hello
。您应该会收到如下所示的友好响应
随堂测验
如果您在 URL 末尾添加?name=Amy
会发生什么?
接下来,尝试这些热门指南
您已经了解了 Spring 的简单性,但它也非常灵活。您可以使用 Spring 做成千上万的事情,我们提供了许多指南来引导您完成最流行的选择。为什么不继续学习并尝试以下指南之一呢?