From the Guice Frequently Asked Questions :
To inject dependencies into the AOP MethodInterceptor, use requestInjection() next to the standard bindInterceptor () call.
public class NotOnWeekendsModule extends AbstractModule { protected void configure() { MethodInterceptor interceptor = new WeekendBlocker(); requestInjection(interceptor); bindInterceptor(any(), annotatedWith(NotOnWeekends.class), interceptor); } }
Another option is to use Binder.getProvider and pass the dependency in the interceptor constructor.
public class NotOnWeekendsModule extends AbstractModule { protected void configure() { bindInterceptor(any(), annotatedWith(NotOnWeekends.class), new WeekendBlocker(getProvider(Calendar.class))); } }
source share