1. 引言
Spring Boot 是构建现代 Java 应用程序,特别是微服务架构的绝佳起点。它通过"约定优于配置"的理念,极大地简化了 Spring 应用的初始搭建和开发过程。本指南将带领你从零开始,一步步构建一个完整的 Spring Boot 微服务。
2. 环境准备
在开始之前,请确保你的开发环境已就绪。
- Java 开发工具包 (JDK):推荐使用 JDK 11 或 JDK 17。
- 构建工具:Maven (3.6+) 或 Gradle (7.x+)。
- 集成开发环境 (IDE):IntelliJ IDEA、Eclipse 或 VS Code。
- Spring Initializr:用于快速生成项目骨架的在线工具。
3. 创建第一个 Spring Boot 项目
我们将使用 Spring Initializr 来生成项目。
- 访问 https://start.spring.io。
- 选择项目类型为 Maven Project ,语言为 Java。
- 选择 Spring Boot 版本(建议选择最新的稳定版)。
- 填写项目元数据(Group, Artifact, Name, Description)。
- 在 Dependencies 中添加:
Spring Web(用于构建 REST API)。 - 点击 Generate 按钮下载项目压缩包。
解压后,用 IDE 导入项目,你将看到一个标准的 Maven 项目结构。
4. 项目结构解析
一个典型的 Spring Boot 项目结构如下:
plaintext
src/
├── main/
│ ├── java/
│ │ └── com/example/demo/
│ │ ├── DemoApplication.java # 主启动类
│ │ └── controller/ # 控制器层
│ └── resources/
│ ├── application.properties # 配置文件
│ └── static/ # 静态资源
└── test/ # 测试代码
pom.xml # Maven 依赖管理
DemoApplication.java 是整个应用的入口,包含 @SpringBootApplication 注解。
5. 编写第一个 REST API
让我们创建一个简单的"Hello World" API。
- 在
src/main/java/com/example/demo/下创建controller包。 - 在包内创建
HelloController.java文件。
java
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!";
}
}
代码解析:
@RestController:标记该类为 REST 控制器。@GetMapping("/hello"):将 HTTP GET 请求映射到sayHello方法。- 方法返回的字符串将作为 HTTP 响应体。
6. 运行与测试
有多种方式可以运行 Spring Boot 应用:
- 在 IDE 中 :直接运行
DemoApplication类的main方法。 - 使用 Maven :在项目根目录执行
mvn spring-boot:run。
应用启动后,默认端口是 8080。打开浏览器或使用 curl 访问:
bash
curl http://localhost:8080/hello
你将看到返回的字符串:Hello, Spring Boot!。
7. 配置文件与自定义属性
Spring Boot 支持灵活的配置。你可以在 application.properties 或 application.yml 中修改默认设置。
properties
# application.properties 示例
server.port=9090
spring.application.name=my-first-service
logging.level.com.example.demo=DEBUG
你还可以在代码中通过 @Value 注解注入自定义属性。
8. 连接数据库(以 H2 为例)
大多数微服务都需要数据持久化。Spring Boot 让集成数据库变得非常简单。
- 在
pom.xml中添加 H2 数据库和 Spring Data JPA 依赖。 - 在
application.properties中配置数据源。 - 创建一个实体类(Entity)和一个仓库接口(Repository)。
这样,你就拥有了一个具备完整 CRUD 功能的微服务雏形。
9. 打包与部署
Spring Boot 可以将应用打包成可执行的 JAR 文件。
bash
mvn clean package
打包后,在 target 目录下会生成 demo-0.0.1-SNAPSHOT.jar。你可以使用以下命令运行它:
bash
java -jar target/demo-0.0.1-SNAPSHOT.jar
这为容器化(Docker)和云平台部署奠定了基础。
10. 总结与下一步
恭喜!你已经成功创建并运行了你的第一个 Spring Boot 微服务。本指南涵盖了从环境搭建、项目创建、API 开发到运行部署的核心步骤。
下一步学习建议:
- 深入学习 Spring Data JPA 进行更复杂的数据操作。
- 集成 Spring Security 为你的 API 添加认证与授权。
- 使用 Spring Cloud 组件(如 Eureka, Config Server)构建完整的微服务生态系统。
- 为你的服务编写单元测试和集成测试。
Spring Boot 生态庞大而友好,持续探索,你将能构建出健壮、可扩展的现代化应用。