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
Podemos crear la siguiente clase:
@Configuration
@ConfigurationProperties
data class ExampleConfig(
val path: String,
val enabled: Boolean,
val port: Integer,
)
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
}
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
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,
)
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.
Top comments (0)