我在 Dagger 中看不到对生命周期管理的任何支持。只有 DI,@PostConstruct 或 @PreDestroy 没有。
我希望 Dagger 以与 Spring 相同的方式启动/停止对象是图形。我怎样才能做到这一点?
我在 Dagger 中看不到对生命周期管理的任何支持。只有 DI,@PostConstruct 或 @PreDestroy 没有。
我希望 Dagger 以与 Spring 相同的方式启动/停止对象是图形。我怎样才能做到这一点?
图中对象的生命周期与图本身的生命周期相同。一旦图表被垃圾收集,图表中的所有对象也会被收集。
我通过在 Dagger 中创建子图来实现这一点。子图将包含需要较短生命周期的所有对象(该图中的单例)。应用程序范围的对象进入子图所依赖的主图中。
PS。我不熟悉 Spring,所以我无法解释这与 Spring 有何关系。
打开https://github.com/google/dagger/issues/455以了解这是否已计划或永远不会实施。@Alex-Collins 解决方案(解决方法?)是通过 LifeCycleManager和Dagger Module Provides 中的显式 register()。