Vous pouvez lier des propriétés à l'aide d' Names.bindProperties(binder(), getProperties())
où getProperties
renvoie un Properties
objet ou un Map<String, String>
(de la lecture du fichier de propriétés en tant que Properties
objet est à vous de voir).
Vous pouvez ensuite les injecter par nom à l'aide d' @Named
. Si vous aviez un fichier de propriétés:
foo=bar
baz=true
Vous pourrait injecter les valeurs de ces propriétés n'importe où vous le souhaitez, comme ceci:
@Inject
public SomeClass(@Named("foo") String foo, @Named("baz") boolean baz) {...}
Guice pouvez convertir des valeurs de chaînes pour le type d'injection, telles que l' boolean
- dessus, automatiquement (en supposant que la chaîne est un format approprié). Cela fonctionne pour les types primitifs, les énumérations et de la classe de littéraux.