2010-05-08 9 views
0

Je me demande si quelqu'un serait un tel expert en Guice qu'il aurait même savoir comment mettre en œuvre que:Guice question d'expert

J'ai une annotation d'injection (@ConfParam) avec certains paramètres, comme ça:

class TestClass { 

private final int intValue; 

    @Inject 
    public TestClass(@ConfParam(section = "test1", key = "1") int intValue{ 
     this.intValue = intValue; 
    } 

    public int getIntValue() { 
     return intValue; 
    } 

} 

Le ConfParam est mon annotation personnalisée.

Maintenant, quand la valeur d'injection est demandée, je voudrais créer une liaison dynamique, pour résoudre la valeur.

Pour cette liaison, j'ai besoin des paramètres dans l'annotation.

Un exemple pourrait être, je vais devoir regarder dans la base de données dans une table où la section est? et la clé est?

Tout le problème est que les données ne sont pas disponibles lorsque l'injecteur est créé et pourraient également être ajoutés au moment de l'exécution.

Ps. I solution statique est facile. (jetez un oeil à la classe Names)

Répondre

3

Jetez un coup d'œil à CustomInjections comme point de départ. J'ai fait quelque chose de similaire avant d'utiliser un paramètre pour personnaliser un enregistreur au-delà du simple nom de la classe.

+0

C'est exactement ce dont j'ai besoin. – Roman