Nous utilisons java.util.resourcebundle code> pour charger des informations sur la propriété. Notre dossier de propriétés a grandi si énorme et nous envisageons de diviser le fichier de propriétés maître en plusieurs sous-modules. Est-il possible d'y parvenir?
master.properties
==>
master.properties
include moduleA.properties
include moduleB.properties
3 Réponses :
Vous pouvez toutefois construire de la ressourceBundle, mais comme vous dites que votre fichier est énorme, alors si elle est chargée dans la mémoire.
puis pour dans locale p>
plus douloureux de faire toutes les modifications dans un seul fichier, le problème est avec le temps de développement et non avec le temps d'exécution.
Plus de nourriture pour une pensée qu'une solution testée. P>
Fichiers XML Support entités em> au texte en ligne d'autres fichiers lors de l'analyse. Si on l'a vu des fichiers XML complexes, où cette technique a été utilisée pour modulariser les fichiers. P>
Si cela fonctionne - Transformer les fichiers de propriété existants vers des fichiers Propriétés XML doit être facile, il suffit d'utiliser la classe Propriétés code> prend en charge maintenant deux formats de fichiers, le format commun
.properties code> avec des paires de touches / valeur et d'un format XML.
Propriétés CODE> Peut charger et stocker sur / à partir de fichiers XML. P>
ResourceBundle code> a une sous-classe directe:
propertyTresourcebundle code>. On dirait que cette classe est réellement limitée au format de la paire de clé / valeur plus ancienne, mais il pourrait être utilisé pour implémenter une autre classe, comme
xmlpropertyresourcebundle code> capable de lire des propriétés à partir de fichiers XML où le
Entity code> Trick pourrait aider à modulariser ces fichiers. P>
Propriétés code>, lisez du format standard et stockez sur XML. P>
Tout d'abord, je me demande pourquoi vous avez choisi java.util.resourcebundle code>
sur java.util.properties code>
. Étant donné que votre question est formulée, vous ne semblez pas se soucier de la localisation / de l'internationalisation ni de l'héritage des fichiers de paquets.
avec Si vous insistez vraiment à l'aide de supposant que vous avez l'entrée suivante dans puis la personnalisation suivante ( La manutention et la gestion de la localisation d'exception triviale est laissée de côté, ceci est à vous) em> p> Ceci peut être utilisé comme: p> propriétés code> c'est extraordinaire facile car il implémente
mappe code>
offre à son tour un putal () code>
méthode pour fusionner une autre carte. Exemple de coup d'envoi: p> ResourceBundle Code>, votre meilleur choix est de créer une ressource
personnaliséBundle code> dans lequel Vous contolez le chargement par une personnalisée
Contrôle code>
. P> maître.properties code> qui représente une chaîne de télécommande avec les noms de base des fichiers de propriétés du module: p>
eSoldBundle code> doit fonctionner: p>
ResourceBundle bundle = new MultiResourceBundle("master");