【发布时间】:2012-11-01 19:32:52
【问题描述】:
我创建了 Guice 绑定注释,允许我根据注释绑定一个类的两个不同实例,例如:
bind(Animal.class).withAnnotation(Cat.class).toInstance(new Animal("Meow"));
bind(Animal.class).withAnnotation(Dog.class).toInstance(new Animal("Woof"));
我希望能够创建一个提供者方法,该方法提供一个列表,该列表是我的一个类的依赖项,但不知道如何为此使用注释:
@Provider
List<Animal> provideAnimalList() {
List<Animal> animals = new ArrayList<Animal>();
animals.add(@Cat Animal.class); // No, but this is what I want
animals.add(@Dog Animal.class); // No, but this is what I want
return animals;
}
所以我假设我只能使用 List 的 add() 方法的参数中的注释......但是没有。
我应该如何处理这个问题?在我看来,简单地new Animal 类的两个实例会更简单,也许这不是绑定注释的使用方式。
感谢 cmets 在这种情况下最好地使用绑定注释。
谢谢
【问题讨论】:
标签: dependency-injection guice