假设我定义了以下类:
public interface A {}
public class A1 implements A {}
public class A2 implements A {}
public class XServlet<T extends A> extends HttpServlet {
public XServlet(T delegate){}
}
此外,在我的一个 Guice 模块中,我有一些愚蠢的绑定:
bind(A.class).annotatedWith(Names.named("a1")).to(A1.class);
bind(A.class).annotatedWith(Names.named("a2")).to(A2.class);
现在我需要创建一个 ServletModule,它定义了两个具有不同参数的“XServlet”实例。对于“/x”模式,我希望它使用绑定到 A.class 并使用“a1”注释的任何内容,对于“/y”模式,我希望它使用绑定到 A.class 并使用“a2”注释的任何内容。就像是:
serve("/x").with(???);
serve("/y").with(???);
应该有什么而不是'???'?有可能吗?