0

我有这个领域:

@Inject(optional=true)
@Named(NAMED_ERROR_HANDLER)
private PolymorphicDispatcher.ErrorHandler<IScope> errorHandler = new PolymorphicDispatcher.NullErrorHandler<IScope>();

我需要覆盖默认绑定(NullErrorHandler)。我怎么做?

4

1 回答 1

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。(抱歉,该部分附近没有 HTML-ID 或锚点)。

于 2012-07-24T22:09:56.600 回答