Skip to content

框架介绍

Rain 是一个使用 Kotlin 编写、同时面向 Java 与 Kotlin 的 JVM 应用开发框架。它以服务端开发中的常见能力为基础,但并不绑定某一种网络协议或 Web 容器;应用可以选择所需模块,构建自己的运行时与编程模型。

设计目标

  • 模块化:核心能力拆分为独立 Gradle 模块,下游应用可按需集成。
  • 统一生命周期:应用扫描、Bean 注册、扩展加载、服务启动与停止由 Application 模块协调。
  • 低样板代码:通过 DI、注解扫描和字节码增强减少重复注册逻辑。
  • Java / Kotlin 兼容:公开 API 基于 JVM 类型系统,可从两种语言调用。

能力地图

能力模块说明
应用启动application配置初始化、类扫描、Loader 与服务生命周期
依赖注入diBean 创建、命名实例、字段与构造器注入
配置diProperties、YAML、JSON 与多运行模式合并
事件event事件发布、监听器扫描和优先级
调度job注解任务、DSL 动态任务和异常事件
控制器controller协议无关的路由、Action 与处理流程抽象
类增强classloaderhookASM 转换、自定义类加载器和方法 Hook
测试rain-test在 Rain 应用上下文中运行 JUnit 5

当前状态

Rain 当前处于开发版本。仓库构建版本是 1.0.0-DEV12,源码目标为 Java 8;使用更新 JDK 开发和运行时仍应验证依赖兼容性。部分接口仍在演进,例如 Job DSL 中的标准 Cron 表达式入口尚未实现。

基于 Apache License 2.0 发布