Comment utiliser ResourceBundle pour éviter les chemins de configuration codés en dur dans les applications Java?

StackOverflow https://stackoverflow.com/questions/154728

  •  03-07-2019
  •  | 
  •  

Question

J'aimerais éliminer les dépendances sur les chemins codés en dur pour les données de configuration dans mes applications Java. Je comprends que l'utilisation de ResourceBundle m'aidera à utiliser le chargeur de classes pour trouver des ressources.

Quelqu'un peut-il me dire comment remplacer un chemin codé en dur vers une ressource (par exemple, un fichier de données de configuration .properties requis par une classe) par une utilisation appropriée de ResourceBundle? Exemple clair et simple si possible, merci à tous.

Était-ce utile?

La solution

Avant Java 6, ResourceBundle était généralement autorisé:

Java 6 est livré avec le ResourceBundle. Classe de contrôle qui ouvre la porte à d’autres sources de ResourceBundles, par exemple:

  • Fichiers XML (voir l'exemple 2 dans Javadoc)
  • lignes de la base de données

J'espère que cela vous aidera.

Autres conseils

Vous souhaitez examiner Resource.getBundle (String) . Vous lui transmettez le nom complet d’une ressource sur le chemin de classe à charger en tant que fichier de propriétés.

Vous n'avez pas besoin d'un ResourceBundle. Un simple objet Properties peut faire le travail. Utilisez simplement le chargeur de classes pour obtenir un flux d'entrée pour votre fichier de propriétés et utilisez-le pour charger les valeurs. Si vous devez gérer des configurations utilisateur plus sophistiquées, utilisez la préférences api .

Cordialement

Le truc derrière Resource.getBundle (..) est l’utilisation du chargeur de classes. Vous pouvez charger tout ce qui se trouve dans votre chemin d'accès aux classes en y accédant via this.getClass (). GetClassLoader (). Resource.getBundle (..) est une aide pratique à utiliser dans la rubrique ressource / localisation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top