Skip to content

Application

Application 模块是 Rain 的运行时编排层,负责把配置、DI、类扫描、Loader、应用服务和事件总线连接起来。

两种启动方式

完整启动

kotlin
FullStackApplicationLauncher.launch()

完整启动器会设置应用类加载器,注册类增强和 Hook Transformer,再反射启动 Application。这是默认推荐方式。

基础启动

kotlin
BasicApplicationLauncher.launch()

基础启动器直接运行 Application,适合不需要字节码增强的场景。

扩展点

ApplicationService

应用服务具有 start()stop()priority()。数值较小的服务先启动。

Loader

Loader 接收扫描阶段生成的 LoadItem 集合,适合实现“由注解发现并批量注册”的能力。@LoadBy 可把类或自定义注解关联到 Loader。

kotlin
@LoadBy(MyLoader::class)
annotation class MyFeature

AutoBind

接口标记 @AutoBind 后,扫描到实现类时可自动建立接口到实现的绑定。EventBusJobManager 都使用了这一机制。

基于 Apache License 2.0 发布