- Spring Boot: 3.2.0
- Spring Cloud: 2023.0.0
- Spring Cloud Alibaba: 2023.0.1.0
- Nacos: 3.3.0 (服务注册与配置中心)
- Redis: 5.0.14.1 (缓存)
- MyBatis Plus: 3.5.5 (ORM 框架)
- MySQL: 8.0.33 (数据库)
- Druid: 1.2.20 (数据源)
- JDK: 17
spring-cloud-parent
├── gateway # 网关服务 (端口: 8080)
├── common # 公共模块
├── system # 用户服务 (端口: 8081)
└── sql # SQL 脚本
- Spring Cloud Gateway 实现
- 集成 Nacos 服务发现
- 集成 Redis
- 全局过滤器(日志记录)
- 路由配置
- 统一返回结果 Result
- 全局异常处理
- 自定义业务异常
- Redis 常量定义
- 用户 CRUD 操作
- MyBatis Plus 集成
- Redis 缓存集成
- Nacos 服务注册
- OpenFeign 支持
-
JDK 17+
-
Maven 3.6+
-
Nacos 3.3.0
- 下载地址: https://github.com/alibaba/nacos/releases
- 启动命令:
sh startup.sh -m standalone(Linux/Mac) 或startup.cmd -m standalone(Windows) - 控制台: http://localhost:8848/nacos (默认用户名/密码: nacos/nacos)
-
Redis 5.0.14.1
- 启动命令:
redis-server
- 启动命令:
-
MySQL 8.0+
- 执行
sql/init.sql初始化数据库
- 执行
# 启动 Nacos
cd nacos/bin
startup.cmd -m standalone
# 启动 Redis
redis-server
# 启动 MySQL 并导入数据
mysql -u root -p < sql/init.sql修改各模块的配置文件,调整 Nacos、Redis、MySQL 连接信息:
gateway/src/main/resources/application.ymlsystem/src/main/resources/application.yml
# 在项目根目录执行
mvn clean install# 启动网关
cd gateway
mvn spring-boot:run
# 启动用户服务
cd system
mvn spring-boot:run- Nacos 控制台: http://localhost:8848/nacos
- 网关地址: http://localhost:8080
- 用户服务(通过网关): http://localhost:8080/user/api/user/list
| 接口 | 方法 | 说明 |
|---|---|---|
| /user/api/user/list | GET | 查询所有用户 |
| /user/api/user/{id} | GET | 根据ID查询用户 |
| /user/api/user/username/{username} | GET | 根据用户名查询用户 |
| /user/api/user | POST | 新增用户 |
| /user/api/user | PUT | 更新用户 |
| /user/api/user/{id} | DELETE | 删除用户 |
- server-addr: 127.0.0.1:8848
- namespace: public
- group: DEFAULT_GROUP
- host: 127.0.0.1
- port: 6379
- database: 0
- url: jdbc:mysql://localhost:3306/test_db
- username: root
- password: root
- 确保 Nacos、Redis、MySQL 服务已启动
- 确保端口 8080、8081、8848、6379、3306 未被占用
- 首次启动前需要执行 SQL 脚本初始化数据库
- 建议按照顺序启动: Nacos -> Redis -> MySQL -> Gateway -> system
- 在父 pom.xml 中添加 module
- 创建新模块的 pom.xml,继承父 pom
- 添加 Nacos 服务发现依赖
- 配置 application.yml 和 bootstrap.yml
- 在 Gateway 中配置路由规则
spring-cloud-starter-alibaba-nacos-discovery: Nacos 服务发现spring-cloud-starter-alibaba-nacos-config: Nacos 配置中心spring-cloud-starter-openfeign: 声明式服务调用spring-cloud-starter-loadbalancer: 负载均衡spring-boot-starter-data-redis: Redis 支持