gpt4 book ai didi

java - 从 Dagger 图中获取带有 Qualifier 注释的对象

转载 作者:行者123 更新时间:2023-11-29 03:16:37 27 4
gpt4 key购买 nike

除非图中的单例对象用限定符注释,否则我们可以调用:

graph.get(Bus.class);

如果此对象在模块定义中使用限定符注释,则它将抛出 IllegalStateException。

是否有比以下更好的方法从图中检索该对象:

public class BusWrapper {
@Inject
@MyQualifier
Bus bus;
}

graph.inject(new BusWrapper()).bus;

我有一组图表(每个帐户一张图表)。每个帐户图和一个应用程序范围的总线(用不同的限定符注释)的单独总线。收到 GCM 同步请求消息后,我需要从正确的图形中检索总线以传递同步请求。

最佳答案

不支持通过 .get() 执行带注释的实例查找。

我找不到合适的引用帖子来引用。最接近的是this one :

Dagger 1.0 is definitely designed around having robust entry-point/injectable objects, rather than using ObjectGraph like a big annotated map.

基本上,.get() 旨在用于从您的对象图中获取根实例,在该实例下,所有依赖项都将被正常@Injected。

关于java - 从 Dagger 图中获取带有 Qualifier 注释的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26203767/

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