ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

一张图读懂concept项目结构:面向新手的Gradle多模块组织与Core、Starter、Sample分工完整指南

2026/8/22 14:25:46 拓冰建站 浏览量
一张图读懂concept项目结构:面向新手的Gradle多模块组织与Core、Starter、Sample分工完整指南 一张图读懂concept项目结构面向新手的Gradle多模块组织与Core、Starter、Sample分工完整指南【免费下载链接】concept封装了一些常用组件走过路过不要错过哦项目地址: https://gitcode.com/gh_mirrors/con/conceptconcept 是一个封装常用组件的 Java 开源项目涵盖长连接负载均衡、注解下载接口、事件模型、插件化加载等开箱即用的能力。第一次打开仓库的新手很容易被十几个目录搞晕。这篇文章带你一张图读懂 concept 项目结构讲清楚 Gradle 多模块组织方式以及 Core、Starter、Sample 三类模块各自分工5 分钟建立完整心智模型。 一图总览concept 的 15 个功能模块全景concept 采用「一个功能一个目录、一个目录多个子模块」的扁平化组织方式。所有子模块统一在根目录 settings.gradle 中注册打开这个文件就是最好看的项目结构地图模块功能定位一句话说明concept-connection-loadbalance长连接负载均衡WebSocket / Netty / SSE 集群方案支持 Redis、RabbitMQ、Kafka 转发concept-download注解下载接口一个注解实现文件下载支持异步消费、压缩加密concept-event事件模型基于 Kafka RabbitMQ 构建统一事件发布订阅concept-plugin插件化动态加载外部 jar 中的 Class支持嵌套、集群、可视化管理concept-domain领域层DDD 领域的实体、仓储、事件抽象concept-router动态路由协同开发场景下的动态路由注册concept-inherit属性继承伪 Java 多继承的属性继承插件concept-cloud云基建Spring Cloud 拦截器 IDEA 模块化项目生成插件concept-reactive响应式封装Reactor / RxJava3 双实现concept-mapqueue特殊队列支持元素更新的 Queueconcept-sync-waiting异步转同步异步回调转同步返回concept-properties-refresh配置刷新动态属性刷新concept-thing / concept-job / concept-extension设备 / 任务 / 扩展点其他辅助能力sample演示工程可运行的 Spring Boot 应用串联所有模块用法 Gradle 多模块组织三层结构命名法看懂 concept 项目结构先记住它统一的三层命名法。以最完整的 concept-download 为例concept-download/ ├── concept-download-core/ # 核心逻辑层 ├── concept-download-coroutines/ # 具体实现/扩展层Kotlin 协程 ├── concept-download-spring-boot-starter/ # Spring Boot 自动装配层 └── version.gradle # 本功能模块的版本号concept-event 的 settings.gradle 片段可以直观看到这种一功能多实现的组织思路include concept-event include concept-event:concept-event-core include concept-event:concept-event-kafka include concept-event:concept-event-rabbitmq include concept-event:concept-event-spring-boot-starter规律-core永远是纯逻辑中间的-kafka、-reactor、-netty等是可插拔的具体实现-spring-boot-starter负责自动装配。同一功能可以有多个实现模块并存按需引入。版本号也高度统一每个功能目录下的 version.gradle 用一个扩展属性管理本模块版本例如ext.ConceptEventVersion 1.1.1 Core、Starter、Sample 三类模块的分工详解1️⃣ Core 模块纯业务逻辑依赖极薄Core 模块只关心这件事本身怎么做刻意不绑定 Spring。以 concept-event/concept-event-core/build.gradle 为例核心依赖只有一个 Jacksondependencies { compileOnly com.fasterxml.jackson.core:jackson-databind }compileOnly的用法贯穿全项目——Spring、Netty、Lombok 全部是编译期依赖运行期由使用者提供。这保证了 Core 层零侵入、可单独使用。2️⃣ Spring Boot Starter 模块一行依赖自动生效Starter 模块的定位是胶水层扫描到 Classpath 里有对应的 Core 和实现模块时才注册自动配置 Bean。它的 build.gradle 非常有代表性compileOnly project(:concept-event:concept-event-core) compileOnly project(:concept-event:concept-event-kafka) compileOnly project(:concept-event:concept-event-rabbitmq)Core、Kafka、RabbitMQ 全部compileOnly——你不引入实现模块Starter 里对应的装配就不会触发这就是 concept 项目结构中可插拔思想的落点。以 concept-download 为例core 负责压缩、加载、写出等核心链路starter 负责 Web 层与 Spring 的集成两层职责分离清晰3️⃣ Sample 模块可运行的使用说明书sample 是整个仓库中唯一面向运行的模块是一个标准的 Spring Boot 应用入口为 ConceptSampleApplication.java。它的 sample/build.gradle 通过project(...)依赖把几乎所有功能模块串起来implementation project(path: :concept-event:concept-event-spring-boot-starter, configuration: default) implementation project(path: :concept-event:concept-event-kafka, configuration: default)注意这里的组合方式Starter 对应实现模块成对引入。sample 下的 cloud、connection、event、plugin 等子包就是各功能的活教材新手调试功能时可以直接从这里入手。⚙️ 根 build.gradle多模块的统一管家根目录的 build.gradle 通过allprojects {}块统一了所有子模块的公共约定这是大型 Gradle 多模块项目的标准做法统一坐标group com.github.linyuzai统一技术栈Spring Boot 2.7.6 Kotlin 1.8.0JDK 8 兼容统一 BOM通过dependencyManagement导入 Spring Cloud 2021.0.4 和 Spring Cloud Alibaba 2021.1子模块引依赖不用写版本号统一产物库模块全部产出普通 jarbootJar关闭配合 publish.gradle 发布到 Maven 中央仓库所以每个子模块的 build.gradle 都短小精悍——公共约定在根部模块里只声明我独有的差异。concept-cloud 配套的 IDEA 插件可一键生成按模块划分的 Spring Cloud 工程与 concept 的模块划分思想一脉相承 快速上手克隆与构建 concept 仓库拿到仓库后最省时间的验证方式git clone https://gitcode.com/gh_mirrors/con/concept cd concept ./gradlew build建议的路径先读settings.gradle→ 再看README.md的功能清单 → 到 sample 里找对应功能的演示包 → 最后才进 core 源码。这个顺序能让 concept 项目结构的理解效率翻倍。✨ 模块亮点巡礼先啃哪个最值概念插件化支持动态加载外部 jar、嵌套压缩包、集群部署还有可视化管理页面concept-plugin 提供的插件可视化管理页面长连接负载均衡一个配置注解实现 WebSocket 集群消息路由、订阅管理一应俱全concept-connection-loadbalance 的 WebSocket 集群管理界面总结一句话记住 concept 项目结构一个功能一个目录Core 管逻辑、实现模块管协议、Starter 管装配、sample 管演示版本号在 version.gradle公共约定在根 build.gradle模块清单在 settings.gradle。掌握这条主线无论 concept 未来新增多少模块你都能在 1 分钟内定位它的位置和职责。【免费下载链接】concept封装了一些常用组件走过路过不要错过哦项目地址: https://gitcode.com/gh_mirrors/con/concept创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考