我有与依赖的MethodInterceptor。我该如何注射?
在2007年,Bob Lee在这里表示,这种可能性应该包含在下一个版本中,但是我找不到用于此的API。bindInterceptor
方法需要实例而不是类。
为了将依赖项注入AOP MethodInterceptor中,请requestInjection()
与标准bindInterceptor()调用一起使用。
public class NotOnWeekendsModule extends AbstractModule {
protected void configure() {
MethodInterceptor interceptor = new WeekendBlocker();
requestInjection(interceptor);
bindInterceptor(any(), annotatedWith(NotOnWeekends.class), interceptor);
}
}
另一种选择是Binder.getProvider
在拦截器的构造函数中使用并传递依赖项。
public class NotOnWeekendsModule extends AbstractModule {
protected void configure() {
bindInterceptor(any(),
annotatedWith(NotOnWeekends.class),
new WeekendBlocker(getProvider(Calendar.class)));
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句