有没有办法可以使用 Dagger 2 注入(inject)自定义注释。例子:
@CustomAnnotation
method(){}
我希望这个注释调用一个拦截类。我知道 Guice 允许您绑定(bind)自定义注释,但是 Dagger 2 呢?
最佳答案
虽然 Dagger 不支持 AOP interception或 custom 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/