项目结构
Rain 仓库采用 Gradle 多模块结构。
text
Rain/
├─ tools/
│ ├─ function/ # 通用函数、反射、JSON、数据节点
│ ├─ api/ # DI、事件、Loader 等稳定接口
│ └─ rain-test/ # JUnit 5 应用测试支持
├─ enhance/
│ ├─ classloader/ # 自定义类加载器与 Transformer
│ └─ hook/ # 方法 Hook 能力
├─ module/
│ ├─ di/ # 依赖注入与配置
│ ├─ event/ # 事件总线
│ ├─ job/ # 调度任务
│ ├─ controller/ # 协议无关 Controller 框架
│ └─ application/ # 应用启动与模块编排
└─ test/ # 框架自身集成测试依赖方向
function 和 api 位于底层;业务模块依赖它们提供的通用接口。application 组合 di、classloader 与 hook,负责把各模块发现的 Loader 和 ApplicationService 接入统一生命周期。
下游项目建议
text
src/main/kotlin/com/example/app/
├─ Main.kt
├─ service/
├─ listener/
└─ job/
src/main/resources/conf/
├─ application.properties
├─ dev/
└─ prod/将自己的根包写入 rain.scanPackages,并按运行模式组织覆盖配置。