Guice et de la configuration générale de l'application
Pour un logiciel de surveillance écrite en Java, je considère que l'utilisation de Google Guice comme DI fournisseur. Le projet doit charger sa configuration à partir d'une ressource externe (fichier ou base de données). L'application est conçue pour fonctionner en mode autonome ou dans un conteneur de servlet.
Au moment de la configuration ne contient pas de liaisons ou les paramètres de l'injection de dépendance, seulement certaines paramètres de l'application (connexion JDBC définitions et gestion de base de données/objets de surveillance).
Je vois deux options:
- d'utiliser une autre bibliothèque, par exemple Configuration D'Apache Commons, qui prend en charge le fichier JDBC et de la configuration des sources (et beaucoup d'autres)
ou
- pour utiliser un fichier de base de addon pour Guice comme guice-xml-config pour stocker les options de l'application (cela permettra de configurer le DI la partie plus tard, si cela est nécessaire).
Recommanderiez-vous d'utiliser Guice pour les deux tâches, ou de garder la configuration générale de l'application séparée de l'injection de dépendance? Quels sont les avantages et les inconvénients que vous considérez comme le plus important?
Vous devez vous connecter pour publier un commentaire.
Il est simple pour siphonner un fichier de propriétés dans un Guice module:
Plus tard, il est facile de passer de Propriétés de configuration d'autres sources.
[Modifier]
BTW, vous pouvez obtenir le injecté propriétés en annotant avec
@Named("myKey")
.@Named
bien.Essayer Guice de configuration disponible sur maven central, c'est le soutien des Propriétés, HOCON et format JSON.
Vous pouvez injecter des propriétés de fichier application.conf à votre service :
Vous devez installer les modules ConfigurationModule comme
Vérifier le governator bibliothèque:
https://github.com/Netflix/governator/wiki/Configuration-Mapping
Vous obtiendrez un @Configuration d'annotation et de plusieurs fournisseurs de configuration. Dans le code il permet de voir où Vous les paramètres de configuration utilisés:
Aussi, Vous obtiendrez un joli rapport de configuration au démarrage:
https://github.com/Netflix/governator/wiki/Configuration-Mapping#configuration-documentation
Je suis tombé sur le même problème dans mon propre projet. Nous avions déjà choisi Guice que le DI-cadre et de garder les choses simples, je voulais l'utiliser aussi avec la configuration.
Nous avons terminé la lecture de la configuration à partir du fichier de propriétés à l'aide de Configuration D'Apache Commons et les liant à Guice injecteur comme suggéré dans Guice FAQ Comment injecter les paramètres de configuration?.
De rechargement de la configuration pris en charge par les Communes de Configuration est également très facile à implémenter dans Guice injection.