首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Spring Boot 開發 RESTful 服務完整教程:從零構建用戶積分系統

     編輯:Java 相關知識

Spring Boot 核心優勢

Spring Boot 由 Pivotal 團隊開發,旨在簡化 Spring 應用的初始搭建與開發流程。其核心特性包括:

  • 約定優於配置:消除大量 XML 配置,實現「零配置」啟動
  • 內嵌容器:內置 Tomcat/Jetty/Undertow,打包為可執行 JAR 即可獨立運行
  • Starter 依賴:聚合常用功能模組(Web、Data、Security 等),一鍵引入
  • 生產級監控:內建 Actuator 提供健康檢查、指標監控、外部化配置

開發環境準備

工具/組件版本說明
IDEIntelliJ IDEA推荐 Ultimate 版,對 Spring Boot 支持最佳
JDK1.8+Spring Boot 2.x 需 JDK 8+,建議使用 LTS 版本
構建工具Maven 3.6+依賴管理與項目構建
數據庫MySQL 5.7+持久化存儲

項目結構與核心依賴

1. Maven 多模塊結構(推薦)

mapp-project
├── mapp-common      # 公共模塊:實體、工具、常量
├── mapp-service     # 服務層:業務邏輯、事務控制
├── mapp-web         # Web 層:Controller、VO、攔截器
└── mapp-run         # 啟動模塊:主類、配置類

2. 父 POM 關鍵配置

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.14</version> <!-- 當前 LTS 版本 -->
    <relativePath/>
</parent>

<properties>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <!-- Web 開發起步依賴,含 Spring MVC + 內嵌 Tomcat + Jackson -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <!-- 測試起步依賴 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    
    <!-- 熱部署(開發期) -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

RESTful API 設計規範

資源GETPOSTPUT/PATCHDELETE
/users列表查詢創建用戶--
/users/{id}詳情查詢-全量/部分更新刪除用戶
/users/{id}/points積分明細積分變更--

核心代碼實現

1. 實體類設計

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private Long id;
    private String username;
    private Integer points;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
}

2. 統一響應封裝

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result<T> {
    private Integer code;    // 200 成功,其它失敗
    private String message;
    private T data;
    
    public static <T> Result<T> success(T data) {
        return new Result<>(200, "成功", data);
    }
    public static <T> Result<T> fail(String msg) {
        return new Result<>(500, msg, null);
    }
}

3. Controller 實現

4. 啟動類

啟動驗證與測試

1. 控制台關鍵日誌

Tomcat initialized with port(s): 8080 (http)
Started MappRunApplication in 2.573 seconds

2. Postman 測試要點

  • 設置 Content-Type: application/json
  • GET 請求:https://localhost:8080/api/users/zhangsan?pwd=123456
  • POST 請求 Body:{"username":"lisi","password":"123456"}

進階增強建議

  1. 參數校驗:引入 spring-boot-starter-validation,使用 JSR-303 註解
  2. 全局異常處理:@RestControllerAdvice 統一捕獲異常,返回友好錯誤碼
  3. API 文檔:集成 Knife4j/Swagger 自動生成接口文檔
  4. 安全防護:Spring Security + JWT 實現無狀態認證授權
  5. 限流熔斷:Sentinel/Resilience4j 保護高併發接口

總結

Spring Boot 以「約定優於配置」的理念,將一個 RESTful 服務的搭建時間壓縮至 5 分鐘內。本文從環境準備、依賴管理、分層架構、代碼實現到測試驗證,提供了完整的落地指南。掌握此框架精髓,能讓開發者專注於業務邏輯,而非繁瑣的基礎設施配置。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved