我有这个字段:
@Inject(optional=true)
@Named(NAMED_ERROR_HANDLER)
private PolymorphicDispatcher.ErrorHandler<IScope> errorHandler = new PolymorphicDispatcher.NullErrorHandler<IScope>();
我需要覆盖默认绑定(NullErrorHandler
)。我该怎么做?
答案 0 :(得分:1)
我没有PolymorphicDispatcher.ErrorHandler
和儿子,但这种约束应该可以胜任:
bind(new TypeLiteral<PolymorphicDispatcher.ErrorHandler<IScope>>(){})
.annotatedWith(Names.named(NAMED_ERROR_HANDLER))
.to(MyImpl.class);
MyImpl
如下:
public class MyImpl implements PolymorphicDispatcher.ErrorHandler<IScope> {
// methods from interface
}
当您搜索TypeLiteral
时,会解释here的基本原则。 (抱歉,该部分附近没有HTML-ID或锚点。)