环境要求
运行环境
| 工具 | 版本要求 | 说明 |
|---|---|---|
| JDK | OpenJDK 25 | 使用虚拟线程等新特性 |
| Gradle | 9.6.0 | 通过 Wrapper 自动管理 |
检查版本:
bash
java -version
./gradlew --version安装 JDK 25
macOS
bash
# 安装 SDKMAN!
curl -s "https://get.sdkman.io" | bash
# 安装 OpenJDK 25
sdk install java 25-open
# 切换到 OpenJDK 25
sdk use java 25-open
# 设为默认
sdk default java 25-openbash
# 安装 Homebrew(如已安装可跳过)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 OpenJDK 25
brew install openjdk@25
# 配置环境变量(添加到 ~/.zshrc)
echo 'export PATH="/opt/homebrew/opt/openjdk@25/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcbash
# 1. 访问 https://adoptium.net/temurin/releases/?version=25 下载 macOS .pkg
# 2. 双击运行安装程序
# 3. 配置 JAVA_HOME(添加到 ~/.zshrc)
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 25)' >> ~/.zshrc
source ~/.zshrcbash
# 访问 https://www.oracle.com/java/technologies/downloads/#jdk25-mac
# 下载 .dmg 文件并双击安装Windows
bash
# 安装 SDKMAN!
curl -s "https://get.sdkman.io" | bash
# 安装 OpenJDK 25
sdk install java 25-open
# 切换到 OpenJDK 25
sdk use java 25-open
# 设为默认
sdk default java 25-openpowershell
# 以管理员身份运行 PowerShell
# 安装 Chocolatey(如已安装可跳过)
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# 安装 OpenJDK 25
choco install openjdk --version=25powershell
# 1. 访问 https://adoptium.net/temurin/releases/?version=25 下载 Windows .msi
# 2. 双击运行安装程序,勾选 "Add to PATH"
# 3. 安装完成后重启终端
# 验证安装
java -versionpowershell
# 访问 https://www.oracle.com/java/technologies/downloads/#jdk25-win
# 下载 .exe 文件并运行安装向导WARNING
项目基于 OpenJDK 25 开发,使用虚拟线程等新特性。低于 25 的版本会导致 Unsupported class file 编译错误。
Gradle Wrapper
项目使用 Gradle Wrapper,无需手动安装 Gradle。首次运行时会自动下载指定版本(9.6.0)。
若下载失败,可检查 gradle/wrapper/gradle-wrapper.properties 中的 distributionUrl,替换为国内镜像:
properties
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-9.6.0-bin.zip推荐编辑器
推荐插件
Lombok— 支持 Lombok 注解处理MyBatisX— MyBatis 开发辅助,Mapper 跳转Spring Boot Assistant— Spring Boot 配置提示SonarLint— 代码质量检查GitToolBox— Git 增强
项目目录结构
整体仓库结构
guava/
├── guava-parent-starter/ # 父级 BOM(java-platform)
├── guava-component-starter/ # 公共组件模块(java-library)
├── guava-entity-starter/ # 实体模块(java-library)
├── guava-platform-starter/ # 平台基础模块(java-library)
├── guava-gateway-starter/ # 网关服务(port: 7001)
├── guava-login-starter/ # 登录认证服务(port: 7002)
├── guava-admin-starter/ # 后台管理服务(port: 7003)
├── guava-filestore/ # 文件存储服务(port: 7004)
├── guava-redis-starter/ # Redis 缓存服务(port: 7005)
├── guava-mq-provider-starter/ # MQ 消息生产者(port: 7006)
└── guava-mq-consumer-starter/ # MQ 消息消费者(port: 7007)模块依赖关系
guava-parent-starter (BOM)
│
├── guava-component-starter
│ ├── guava-entity-starter
│ └── guava-platform-starter
│ │
│ ▼
│ 微服务应用层(依赖 entity + platform)
│ │
│ ├── guava-login-starter
│ ├── guava-admin-starter
│ ├── guava-redis-starter
│ ├── guava-filestore
│ ├── guava-mq-provider-starter
│ └── guava-mq-consumer-starter
│
└── guava-gateway-starterTIP
- 微服务应用层(login / admin / redis / filestore / mq)均依赖
guava-entity-starter+guava-platform-starter guava-gateway-starter为纯 Spring Cloud Gateway,不依赖内部模块
单模块目录结构
以 guava-admin-starter(后台管理服务)为例:
guava-admin-starter/
├── build.gradle.kts # 构建配置(依赖、插件、发布)
├── settings.gradle.kts # 项目设置(仓库、模块名)
├── gradle.properties # Gradle 属性(缓存、并行)
├── gradlew # Gradle Wrapper 脚本
├── gradle/
│ ├── libs.versions.toml # 版本目录(Version Catalog)
│ └── wrapper/ # Gradle Wrapper 配置
└── src/
├── main/
│ ├── java/com/guava/admin/
│ │ ├── BootAdminApplication.java # 启动类(@SpringBootApplication)
│ │ ├── config/ # 配置类(WebMvc、MyBatis、安全等)
│ │ ├── constant/ # 常量定义
│ │ ├── controller/ # 控制器(按业务分子模块:user/role/dept/menu/dict 等)
│ │ ├── service/ # 服务层(接口 + impl 实现,按业务分子模块)
│ │ ├── repository/ # 数据访问层(MyBatis Mapper)
│ │ ├── model/ # 数据模型(PO / DTO / VO)
│ │ ├── feign/ # Feign 客户端(调用其他微服务)
│ │ ├── redis/ # Redis 操作封装
│ │ ├── event/ # Spring 事件
│ │ └── util/ # 工具类
│ └── resources/
│ ├── application.yml # 主配置(端口、服务名)
│ ├── application-dev.yml # 开发环境配置
│ ├── application-uat.yml # 预发布环境配置
│ ├── application-prod.yml # 生产环境配置
│ ├── logback-spring.xml # 日志配置(按 profile 切换)
│ ├── mapper/ # MyBatis XML 映射文件
│ ├── i18n/ # 国际化消息
│ └── static/ # 静态资源(favicon 等)
└── test/ # 测试代码环境变量
| 环境变量 | 说明 |
|---|---|
JAVA_HOME | JDK 25 安装路径 |
GRADLE_HOME | Gradle 安装路径(可选,Wrapper 已内置) |
下一步
环境就绪后,参见 本地开发 启动后端服务。