Résolution de variables à partir d'un fichier de propriétés au printemps

Lors de l'écriture de la configuration dans un fichier Spring, il est parfois souhaitable de conserver une liste de propriétés externes à la configuration Spring. Cette liste de propriétés peut être modifiée et les valeurs mises à jour seront récupérées par la configuration Spring. Cette recette technique va vous montrer comment faire.

1.Dans votre projet Java activé pour Spring, créez un fichier de propriétés dans le src / main / resources dossier en faisant un clic droit sur le src / main / resources dossier et choix Nouveau> Fichier. Ce fichier peut porter n'importe quel nom tant qu'il correspond au nom que vous allez définir dans votre fichier de configuration Spring. Pour cette recette technique, nous l'appellerons project.properties.

2.Dans le project.properties fichier, une nouvelle propriété est définie avec le nom à gauche et la valeur à droite séparées par un signe égal (=), comme dans l'exemple ci-dessous (beanType = String). Nous pouvons ensuite utiliser cette propriété dans notre fichier de configuration Spring.

3.Maintenant, il est nécessaire d'ouvrir votre ressort application-context.xml afin d'ajouter le code de configuration qui chargera les valeurs du fichier de propriétés. Ceci est configuré avec la classe Spring PropertyPlaceholderConfigurer. Notez que le projet.properties de l'étape 2 est défini dans la liste des emplacements de propriété. Notez également le préfixe d'espace réservé. Cela sera expliqué à l'étape 4.

4.Dans le application-context.xml fichier, nous allons créer une définition de bean simple qui utilisera la valeur du fichier project.properties. Nous allons créer un haricot nommé projectBean et dont le type varie en fonction de la valeur du fichier project.properties. Notez que la propriété doit être résolue entre la construction $ {}. Cela est dû au préfixe d'espace réservé défini à l'étape 3. La valeur résolue garantit que la classe du bean est java.lang.String, avec la partie String résolue à partir du fichier de propriétés.

Vous pouvez maintenant configurer dynamiquement les propriétés de votre projet Spring. Le projectBean peut être modifié de manière dynamique pour taper java.lang.Object avec une simple mise à jour du fichier project.properties.