Configuración de aplicaciones Kotlin: Biblioteca Hoplite

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Qué es Hoplite y por qué es necesario?

Hoplite es una biblioteca ligera y tiposegura para la configuración de aplicaciones Kotlin. Resuelve el problema del análisis manual de archivos de configuración (YAML, JSON, TOML, HOCON) y su transformación en objetos Kotlin fuertemente tipados. En lugar de escribir decenas de líneas de código para leer application.conf, defines una clase de datos y Hoplite deserializa la configuración con validación en tiempo real.

Cómo instalar

Agrega la dependencia en build.gradle.kts:

repositories {    mavenCentral()}

dependencies { implementation("com.sksamuel.hoplite:hoplite-core:2.7.5") implementation("com.sksamuel.hoplite:hoplite-yaml:2.7.5") // para YAML}

Funciones principales

  • Tiposeguridad: conversión automática de cadenas a Int, Boolean, LocalDate, enum y objetos anidados.
  • Validación: anotaciones integradas @Range, @Pattern, @NotEmpty y validadores personalizados.
  • Soporte de formatos: YAML, JSON, TOML, HOCON, .properties y variables de entorno.
  • Perfiles: cambio entre configuraciones dev/prod sin duplicar código.
  • Secretos: integración con Vault y variables de entorno para contraseñas.

Ejemplo de código en Kotlin

import com.sksamuel.hoplite.ConfigLoaderimport com.sksamuel.hoplite.yaml.YamlPropertySource

data class DatabaseConfig( val host: String, val port: Int = 5432, val credentials: Credentials)

data class Credentials( val username: String, @com.sksamuel.hoplite.validator.Secret val password: String)

fun main() { val config = ConfigLoader.Builder() .addSource(YamlPropertySource("config.yaml")) .build() .loadConfigOrThrow<DatabaseConfig>()

println("Connecting to ${config.host}:${config.port}") println("User: ${config.credentials.username}")}

Cuándo usar

Hoplite es ideal para: microservicios en Ktor o Spring Boot, utilidades CLI que necesitan tipado estricto, proyectos que requieren separación en perfiles dev/staging/prod, y cualquier aplicación Kotlin donde se quiera evitar ConfigFactory.parseResources() y el mapeo manual. No se recomienda para scripts simples con uno o dos parámetros — ahí basta con System.getenv().

Conclusión

Hoplite hace que la configuración en Kotlin sea tan segura y elegante como el propio lenguaje. Si estás cansado de ClassCastException al leer configuraciones — prueba esta biblioteca.

Recommendations