Trabalhando com configuração em YAML e Java Properties
O que este conversor faz
YAML e os arquivos .properties do Java são duas maneiras de escrever a mesma configuração. Os arquivos properties guardam um par chave=valor plano por linha e usam pontos para sugerir a hierarquia (server.servlet.context-path=/api). O YAML expressa essa mesma hierarquia por meio de indentação e aninhamento reais. Esta ferramenta lê qualquer um dos formatos, descobre qual você colou e o reescreve no outro: expandindo as chaves com pontos em uma árvore aninhada ou achatando uma árvore de volta em caminhos com pontos.
Como a conversão é bidirecional e se baseia na estrutura detectada em vez de um modelo fixo, você pode fazer o ciclo completo de um arquivo (YAML → Properties → YAML) e obter de volta um resultado equivalente.
Quando usar
O caso mais comum é um projeto Spring Boot migrando entre application.properties e application.yml. As equipes costumam começar com properties e mudam para YAML quando a configuração fica profunda o suficiente para que as chaves com pontos se tornem difíceis de ler. Ir no sentido contrário é igualmente útil quando uma ferramenta ou um pipeline de implantação espera properties planas.
Também é prático para comparar rapidamente duas configurações, converter um trecho da documentação para o formato que seu projeto realmente usa, ou normalizar a indentação e o estilo de arrays antes de fazer o commit.
Exemplo: um bloco de servidor
As linhas de properties server.port=8080 e server.servlet.context-path=/api tornam-se um bloco YAML aninhado em que server contém port: 8080 e uma chave servlet que guarda context-path: /api. Converta de volta e as chaves com pontos reaparecem exatamente iguais. Números como 8080 permanecem sem aspas para manter seu tipo inteiro em vez de virarem strings.
Notas de formato e casos extremos
Os comentários podem ser preservados durante a conversão quando a opção está ativada, o que importa para arquivos de configuração documentados. Os arrays podem ser emitidos como listas com traços do YAML ou como properties indexadas (name[0], name[1]). A indentação ajustável e o uso de aspas em strings (automático, sempre, nunca) permitem que você siga o guia de estilo da sua equipe. A detecção automática de tipos evita que valores booleanos, inteiros e nulos fiquem envolvidos por aspas.