我创建了 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;
}
所以我假设我只能使用add()
List 方法的参数中的注释......但没有。
我应该如何处理这个?在我看来,简单地new
使用 Animal 类的两个实例会更简单,也许这不是绑定注释的使用方式。
我很感激在这种情况下最好地使用绑定注释的评论。
谢谢