当前位置: 首页 > 知识库问答 >
问题:

匕首2的AssistedInject是如何工作的?

武成和
2023-03-14

但可以编译。它是如何工作的?

@AssistedModule 
@Module(includes = AssistedInject_MainModule.class) 
public abstract class MainModule { 
    @Provides static @Exclamation String provideExclamation() {
        return "!"; 
    } 
}

共有1个答案

冉德元
2023-03-14

正如我所知,没有办法控制处理器的执行顺序。

我没有研究Dagger2或AssistedInject在底层是如何工作的,但一般来说,注释处理是在多轮中完成的。

批注处理在一个轮次的序列中进行。在每一轮中,可以要求处理器处理在由前一轮产生的源文件和类文件上发现的注释的子集。

 类似资料:
  • 问题内容: 我可能错过了一些东西,但我认为像@Singleton这样的作用域用于定义“作用域生命周期”。 我在Android应用程序中使用了Dagger 2(但我认为问题根本与android相关)。 我有1个模块: 我有两个与范围不同的组件: 两者,并且,有一个构造函数。虽然MenuPresenter期望将其作为参数,但LoginPresenter却采用了: 但是每次我使用这些组件创建一个或时,都

  • Dagger 2即将面世,但可用的示例甚至无法立即编译,文档是Dagger 1的复制粘贴替换。 有没有人有一个在谷歌的Dagger 2上运行的正确应用程序的例子?

  • 我有一个库项目/模块,Android应用程序和普通java应用程序都使用它。在Dagger 1中,此项目/模块具有属性。其中有一个@Inject字段,任何类实现或@Provides方法都不能满足该字段。其想法是强制具有的“顶部”模块提供特定于系统的实现 举个例子:在library项目中,我有一个ActLogin活动,它有字段。此字段的值在登录到服务器时使用。ActLogin由使用此库的多个应用程序

  • 问题内容: 我是新手,并尝试构建这样的示例以了解其工作原理。 有我的示例代码: 如您在我注入的样本中所见 我也想使用提供值作为此方法的参数。 最终我得到了这样的错误 我究竟做错了什么? 我应该如何以正确的方式提供此参数以避免此类错误? 问题答案: 您需要使用 限定符注释 并在注入依赖时使用此限定符 希望能帮助到你!另请查看官方文档-http: //google.github.io/dagger/

  • 我在android项目中使用Dagger2我有两个作用域:ActivityScope和FragmentScope我读了一些示例代码,他们说定义并使用ActivityScope,所以对象将在activity lifecycle中销毁。因为活动和片段有不同的生命周期,所以我们应该有两个作用域。 我的问题是:我是否需要做一些事情让代码知道,当我使用ActivityScope时,对象应该随活动生命周期一起

  • 泽西正常使用HK2依赖注入,但我想用匕首2的泽西。Dagger和HK2都实现了JSR330,我认为这是不需要太多努力就可以实现的。我找到了让Jersey与CDI(例如Weld)、Spring DI和Guice一起工作的方法,但在Dagger上我找不到任何东西。 为了提供一些上下文:我正在SE环境中运行Grizzly-Jersey服务器,而不是在EE容器中。我的Maven项目有和作为依赖项,但没有,