Guice et de l'interface qui a de multiples implémentations

Si j'ai de l'interface du programme de validation et de multiples implémentations de cette interface. Comment peut-on injecter une ou de plusieurs implémentations avec Guice? Maintenant, je sais que je peux utiliser le code suivant pour injecter un, mais il ne permet qu'une seule mise en œuvre:

public class MyModule extends AbstractModule {
  @Override 
  protected void configure() {
    bind(Validator.class).to(OneOfMyValidators.class);
  }
}

Ce que je voudrais faire c'est:

Validator v1 = injector.getInstance(Validator1.class);
Validator v2 = injector.getInstance(Validator2.class);

Est-il possible?

Votre exemple ne pas injecter le validateur, il crée simplement. Comment voulez-vous vous distinguer de vos 1456 implémentations dans le code réel?
Vrai. Je voulais dire que la demande peut avoir un nombre x de validateurs. Et peut-être validateur créateur veut injecter certains avec des dépendances pour les validateurs. Alors validateur créateur pourrait ajouter @inject pour validateur constructeur et obtenir les dépendances nécessaires.

OriginalL'auteur newbie | 2011-11-08