java - 使用 Dagger 2 的自定义注解拦截器

标签 java dependency-injection annotations guice dagger-2

有没有办法可以使用 Dagger 2 注入(inject)自定义注释。例子:

@CustomAnnotation 
method(){}
我希望这个注释调用一个拦截类。我知道 Guice 允许您绑定(bind)自定义注释,但是 Dagger 2 呢?

最佳答案

虽然 Dagger 不支持 AOP interceptioncustom injections和 Guice 一样,Dagger 确实有 an SPI introduced in Dagger 2.15这允许您指定用于验证和代码生成的绑定(bind)图插件。您可以使用它来生成代码,根据 Dagger 生成的 BindingGraph 来完成您想要的。见 BindingGraphPlugin更多细节。

您也可以选择开发独立的代码生成器,您可以从 Dagger 或任何其他框架中引用这些代码生成器,就像 Google 对 Auto package 所做的那样。 (AutoValue、AutoFactory、AutoService 等)。

关于java - 使用 Dagger 2 的自定义注解拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51624442/

相关文章:

dependency-injection - Dagger 2 组件中的 getter 方法的用途是什么?

java - Dagger:POJO 中的字段注入(inject)

java - 获取注释变量的值

java - 如何在android中选定的 GridView 项上加载新模板

java - Ant 构建复制文件时出错, "Access is denied"

java - ArrayList 内的 ArrayList 被覆盖

android - @Inject 设置不注入(inject)属性

java - Android 致命异常空指针

java - Scala:使用 Scala 宏生成带参数的 Java 注释

java - 如何防止一个类中出现多个 Java 注解实例