我有以下guice模块:
public class GuiceModule {
@Override
protected void configure() {}
@Provides
ClassA classA() {
return new ClassA();
}
@Provides
ClassB classB(ClassA classA) {
ClassB classB = new ClassB(classA);
classB.configure(123)
classB.modify(456);
}
@Provides
ClassC classC(ClassB classB) {
return new ClassC(classB);
}
}
我需要补充以下内容 bindInterceptor
```
bindInterceptor(
inSubpackage("my.sub.package"),
annotatedWith(MyAnnotation.class),
classC);
我只能打电话 `bindInterceptor` 从 `configure()` 方法,基于此文件的第140行。
除了不用,我还有什么选择 `@Provides` 方法,而不是在 `configure` 方法?
注:我不拥有classa、classb或classc。它们都来自第三方软件包。
1条答案
按热度按时间jaql4c8m1#
看起来你想注入你的拦截器。
你必须写你的注入器略有不同,而不是使用构造函数注入。
然后在你的
configure
方法:由于您无权访问拦截器代码,请编写自己的代码来封装所需的代码:
现在使用
MyInterceptor
而不是ClassC
在配置方法中: