获取与组织 Samples 项目
单仓项目结构
Macula Samples 将后端、前端和部署配置放在同一 Git 仓库中。根 pom.xml 聚合八个后端模块,deploy/ 统一维护本地编排;Admin 前端在自身目录构建,不属于 Maven 聚合模块。
macula-samples/
├── pom.xml
├── deploy/
├── macula-samples-parent/
├── macula-samples-api/
├── macula-samples-gateway/
├── macula-samples-admin-bff/
├── macula-samples-service1/
├── macula-samples-basic/
├── macula-samples-openapi/
├── macula-samples-thirdparty/
└── macula-samples-admin/
应用内的依赖关系
- Parent 统一后端依赖、插件与环境 profile,运行模块继承该 Parent。
- API 聚合 Basic API 和 Service1 API,放置可被其他服务引用的接口契约。
- BFF 依赖 Service1 API,通过 Feign 调用 Service1;业务实现留在 Service1 中。
- Gateway 路由到 BFF / OpenAPI,Admin 通过同源
/api访问 Gateway。 - Basic、Thirdparty 与 OpenAPI 是不同职责的运行模块,按实际业务扩展。
完整说明见模块说明。API 与 Parent 不作为独立的 Spring Boot 服务启动。
建立自己的业务项目
以 Samples 作为参考时,先确定应用名、模块职责、API 契约和平台登记信息,再调整包名、构建坐标与配置。应用名需要同时对应服务发现名称、Feign 目标和 Nacos Data ID。
Macula Boot 另提供 Archetype 生成项目骨架;本章的模块和配置说明以 Samples 仓库为准,生成后也应逐项核对目标版本的实际文件。