想象一下以下注释并输入:
@interface MyAnnotation {
String value();
}
class MyType {}
class MyOtherType {}
我使用Guice构造函数注入来注入以下内容:
class MyServer {
@Inject
MyServer(@MyAnnotation("some value") MyType myType) {
}
}
当Guice评估绑定时,我希望它可以调用我的工厂:
class MyAnnotationFactory {
@Inject
private MyOtherType myOtherType;
MyType get(MyAnnotation annotation) {
// return a particular MyType based on the annotation
return myOtherType.getMyType(annotation.value());
}
}
是否有可能在Guice中实现这一目标?