Sta*_*lin 5 java aop dependency-injection guice
我有带依赖关系的MethodInterceptor.我怎么能注射它们?
在这里,2007年,Bob Lee说这种可能性应该包含在下一个版本中,但是我找不到这个API.
bindInterceptor方法需要实例而不是类.
Jes*_*son 12
来自Guice FAQ:
为了在AOP MethodInterceptor中注入依赖项,请requestInjection()与标准的bindInterceptor()一起使用.
public class NotOnWeekendsModule extends AbstractModule {
protected void configure() {
MethodInterceptor interceptor = new WeekendBlocker();
requestInjection(interceptor);
bindInterceptor(any(), annotatedWith(NotOnWeekends.class), interceptor);
}
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是Binder.getProvider在拦截器的构造函数中使用并传递依赖项.
public class NotOnWeekendsModule extends AbstractModule {
protected void configure() {
bindInterceptor(any(),
annotatedWith(NotOnWeekends.class),
new WeekendBlocker(getProvider(Calendar.class)));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2355 次 |
| 最近记录: |