我不明白如何在Guice中使用注入特定实例。我试过这个:
@Inject(optional=true)
public void setCarpenter(@Named("setCarpenter") Carpenter carpenter){
System.out.println("Assigned carpenter for Table");
this.carpenter = carpenter;
}
bind(Table.class).annotatedWith(Names.named("table1")).toInstance(new Table(4, new Metal()));
bind(Table.class).annotatedWith(Names.named("table2")).toInstance(table);
bind(Carpenter.class).annotatedWith(Names.named("setCarpenter")).toInstance(new Carpenter());
它对两个表实例都使用setCarpenter
。如何指定设置为特定实例?