Resolviendo variables de un archivo de propiedades en Spring

Al escribir la configuración en un archivo Spring, a veces es conveniente mantener una lista de propiedades externas a la configuración Spring. Esta lista de propiedades se puede editar y los valores actualizados serán recogidos por la configuración de Spring. Esta receta tecnológica te mostrará cómo se hace.

1.En su proyecto Java habilitado para Spring, cree un archivo de propiedades en el src / main / resources carpeta haciendo clic derecho en la src / main / resources carpeta y elección Nuevo> Archivo. Este archivo puede tener cualquier nombre siempre que se corresponda con el nombre que definirá en su archivo de configuración de Spring. Para esta receta tecnológica lo nombraremos. proyecto.propiedades.

2.En el proyecto.propiedades archivo, se define una nueva propiedad con el nombre a la izquierda y el valor a la derecha separados por un signo igual (=) como se ve en el siguiente ejemplo (beanType = cadena). Entonces podemos usar esta propiedad en nuestro archivo de configuración de Spring.

3.Ahora, es necesario abrir tu primavera. aplicación-contexto.xml para agregar el código de configuración que cargará los valores del archivo de propiedades. Esto se configura con la clase Spring PropertyPlaceholderConfigurer. Observe que el project.properties del Paso 2 se define en la lista de ubicaciones de propiedades. Además, observe el prefijo de marcador de posición. Esto se explicará en el paso 4.

4.En el aplicación-contexto.xml archivo, crearemos una definición de bean simple que usará el valor del archivo project.properties. Vamos a crear un bean llamado proyecto Bean y tienen su tipo varía según el valor del archivo project.properties. Observe que la propiedad debe resolverse entre la construcción $ {}. Esto se debe al prefijo de marcador de posición que definimos en el Paso 3. El valor resuelto asegurará que la clase del bean sea java.lang.String, con la porción de cadena resolviéndose desde el archivo de propiedades.

Ahora puede configurar dinámicamente las propiedades para su proyecto Spring. El ProjectBean podría cambiarse dinámicamente para tener el tipo java.lang.Object con una simple actualización del archivo project.properties.