Spring Boot Properties
Como utilizar archivos externos tipo properties para mostrar mensajes o configurar tu aplicacion Spring Boot 2.(Spring Boot Properties)
Existen varias maneras de consumir archivos properties en JAVA. Pero hoy aprenderas como hacerlo con Spring Boot 2.
De forma predeterminada una aplicacion de Spring Boot 2 creada con el initializr oficial de pivotal (link para ver tutorial) crea un archivo application.properties en el folder src/main/resources. Sino es tu caso y estas “convirtiendo” un proyecto maven en una aplicacion Spring Boot, deberas de crear ese archivo manualmente.
Spring Boot hace su magia por detras y automaticamente puedes acceder a cualquier valor de tu application.properties poniendo la siguiente anotacion a una variable string.
Sintaxis: @Value(Spring Boot expression) String variable; Ejemplo: @Value(${com.cristianruizblog.aplicacion.titulo}) String titulo;
Pero no tienes que apegarte y meter todos tus properties dentro del archivo de Spring Boot. Tambien puedes crear tu propios archivos y agregarlos al contexto de Spring por medio de un archivo de configuracion, dejame mostrarte como.
- Crea tu archivo properties dentro de la carpeta src/main/resources:
- Crea un archivo de configuracion con esta estructura:
-
package com.cristianruizblog.properties_profiles.configuration; //Yo acostumbro a crear un package solo para archivos de configuracion import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; @Configuration @PropertySource("classpath:miarchivo.properties")//el archivo creado en el paso 1 public class Localizacion{ }
-
- Con la anotacion @Configuracion, ese archivo queda cargado dentro del contexto de Spring, y con la anotacion @PropertySource Spring framework identifica donde tiene que buscar y que archivo cargar.
[ALERTA]:
Los properties deben de ser unicos. A esto me refiero que si tienes el mismo properties en varios archivos spring boot no te mostrara error pero solo utilizara el valor del primer archivo que lea.
[BONUS]:
Spring Boot brinda la posibilidad de alterar su magica configuracion utilizando su archivo de properties. En el siguiente link podras ver esas configuraciones que tu puedes modificar para diferentes componentes de spring. Por ejemplo busca thymeleaf con ctrl + F y observa que la primer configuracion para thymeleaf es permitir que el motor mantega cache, tu puedes agregar esa linea al archivo application.properties de tu proyecto y deshabilitar esa funcionalidad (false). Tambien lee los comenarios de cada linea para mas informacion.
https://docs.spring.io/spring-boot/common-application-properties.html
Quiere ver un ejemplo mas detallado utilizando multiples archivos y explicando mas acerca de Properties?
pues mira el siguiente video:
No olvides de mirar mi repositorio github:
https://github.com/cruizg93/CristianRuizBlog-SpringBootProperties
Gracias por llegar al final de este post, no olvide dejar tu sugerencias u opiniones en la caja de comentarios.