Spring Boot 入门指南:从零开始构建微服务

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 来生成项目。

  1. 访问 https://start.spring.io
  2. 选择项目类型为 Maven Project ,语言为 Java
  3. 选择 Spring Boot 版本(建议选择最新的稳定版)。
  4. 填写项目元数据(Group, Artifact, Name, Description)。
  5. Dependencies 中添加:Spring Web(用于构建 REST API)。
  6. 点击 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。

  1. src/main/java/com/example/demo/ 下创建 controller 包。
  2. 在包内创建 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.propertiesapplication.yml 中修改默认设置。

properties 复制代码
# application.properties 示例
server.port=9090
spring.application.name=my-first-service
logging.level.com.example.demo=DEBUG

你还可以在代码中通过 @Value 注解注入自定义属性。

8. 连接数据库(以 H2 为例)

大多数微服务都需要数据持久化。Spring Boot 让集成数据库变得非常简单。

  1. pom.xml 中添加 H2 数据库和 Spring Data JPA 依赖。
  2. application.properties 中配置数据源。
  3. 创建一个实体类(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 生态庞大而友好,持续探索,你将能构建出健壮、可扩展的现代化应用。

相关推荐
IT_陈寒1 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
唐青枫2 小时前
别把 ArrayList 当成会自动管理内存的 List:Zig 动态数组从入门到实战
后端
鸿蒙开发2 小时前
我为 HarmonyOS 做了一个统一大模型 SDK:@hmkit/ai 正式开源
后端
猪是念来过倒2 小时前
Semaphore 与 RateLimiter:并发控制双雄详解
后端
掘金者阿豪2 小时前
异构数据同步最怕什么?不是同步慢,而是数据对不上
后端
程序员cxuan3 小时前
Claude 官方的学习教程,太强了。
人工智能·后端·程序员
老孙讲技术3 小时前
把工地遮挡和掉线接进项目部:setMessageCallback 订 alarm 与 deviceStatus
后端·物联网·音视频开发
老孙讲技术3 小时前
关店后有人进门,监控值班群却没响:用 setMessageCallback 订 human,再用 aiHuman 打开人形
后端·物联网·音视频开发
LEE3 小时前
原来 Claude Code 最厉害的工具,一行代码都不写
前端·后端
老孙讲技术3 小时前
把园区几百路摄像头收进值班台账:bindDevice 入账与 listDeviceDetailsByPage 翻页
后端·物联网·音视频开发