DEV Community

Cover image for Cómo crear una clase de configuración en Spring
Ciro
Ciro

Posted on • Updated on

Cómo crear una clase de configuración en Spring

Una forma de agrupar parámetros de configuración es mediante la creación de clases y el uso de las anotaciones @Configuration y @ConfigurationProperties

Suponiendo que contamos con el siguiente archivo de configuración:

// application.yml
path: "example path value"
enabled: true
port: 1234
Enter fullscreen mode Exit fullscreen mode

Podemos crear la siguiente clase:

@Configuration
@ConfigurationProperties
data class ExampleConfig(
    val path: String,
    val enabled: Boolean,
    val port: Integer,
)
Enter fullscreen mode Exit fullscreen mode

Una vez hecho esto, podremos instanciar la clase de configuración y acceder así a sus atributos.

@Service
class ExampleService(
    val config: ExampleConfig,
) {
    fun getPort(): String = config.port
}
Enter fullscreen mode Exit fullscreen mode

Agrupar propiedades bajo un prefijo

Para poder organizar de mejor manera los parámetros de configuración, podemos hacer uso de los prefijos dentro de nuestro archivo de propiedades.

Aplicado el ejemplo anterior, podemos anidar todas las propiedades bajo una clave example:

// application.yml
example:
    path: "example path value"
    enabled: true
    port: 1234
Enter fullscreen mode Exit fullscreen mode

Ahora debemos actualizar la anotación @ConfigurationProperties para indicar el prefijo (prefix) bajo el que se encuentran las propiedades.

@Configuration
@ConfigurationProperties(prefix = "example") // <- Establecemos el elemento prefix
data class ExampleConfig(
    val path: String,
    val enabled: Boolean,
    val port: Integer,
)
Enter fullscreen mode Exit fullscreen mode

De esta manera el archivo YAML contendrá una estructura más organizada y podremos identificar rápidamente aquellos parámetros que pertenezcan a un mismo concepto.

Fuente: 24.7.1 Loading YAML @ Spring Boot Reference Guide

Top comments (0)