gpt4 book ai didi

singleton - Dagger 2 - 如何创建/提供 EagerSingleton

转载 作者:行者123 更新时间:2023-12-02 21:44:22 25 4
gpt4 key购买 nike

我在使用 Dagger 2 依赖注入(inject)框架时遇到问题。我想创建一个EagerSingleton。我假设当我使用 @Singleton 注释时,dagger 2 会创建延迟加载的单例。如何使用 Dagger 2 框架创建EagerSingleton

最佳答案

我通过创建一个 EagerModule 解决了这个问题,它有一个返回 Void 的提供方法。我急切地想要创建的所有内容都指定为该方法的参数。然后,我向组件添加了一个 Void init() 方法,我在创建组件后立即调用该方法。

@Module
public class EagerModule {

@Provides
@Nullable
Void provideEager(...) {
// this eagerly builds any parameters specified and returns nothing
return null;
}
}

@Component(modules = {EagerModule.class})
public interface TestComponent {

@Nullable
Void init();
}

这显然不会让您访问急切创建的单例,但就我的使用而言,我不需要访问权限,我只是希望创建它们。

关于singleton - Dagger 2 - 如何创建/提供 EagerSingleton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31101039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com