2013-08-17 37 views
4

我在Dagger中看不到任何对生命周期管理的支持。只有DI,没有@PostConstruct或@PreDestroy。如何在Dagger图中生命周期管理对象

我想让Dagger开始/停止对象就像Spring一样,我怎样才能做到这一点?

+0

您需要解决什么问题? –

+0

我已澄清,它是如何更有意义。 –

+0

我也在寻找这个。我认为这是超出范围,匕首只有DI。在我的小应用程序的Main类中,我创建了一个'shutDown'方法来执行'@ PreDestroy'。 –

回答

1

图中对象的生命周期与图本身的生命周期相同。只要图形被垃圾收集,图表中的所有对象也会被收集。

我通过在Dagger中创建子图来实现这一点。子图将包含所有需要较短生命周期的对象(该图中的单例)。应用程序范围内的对象进入子图所依赖的主图中。

PS。我不熟悉Spring,所以我无法解释这与Spring有何关系。