Conversor YAML para Properties
Transforme estruturas hierárquicas YAML em .properties de forma simples.
Por que usar Properties?
Simplicidade
O formato chave=valor é universalmente compreendido e fácil de editar em qualquer editor de texto.
Internacionalização
Padrão global (i18n) para arquivos de tradução em Java, Spring e muitas outras plataformas.
Compatibilidade
Suportado nativamente em muitas linguagens de programação sem necessidade de bibliotecas pesadas.
Dúvidas comuns
É um formato de arquivo de texto simples usado principalmente em tecnologias relacionadas ao Java para armazenar configurações. Ele armazena dados em pares de chave=valor, onde cada linha geralmente representa uma única configuração.
Sua principal função é separar o código-fonte das configurações do ambiente.
- Internacionalização (i18n): Armazenar traduções de textos para diferentes idiomas.
- Configurações de Banco de Dados: URLs de conexão, usuários e senhas.
- Parâmetros de Sistema: Flags de ativação de recursos (feature toggles) e caminhos de pastas.
A estrutura é a mais simples possível: chave=valor ou chave:valor. Veja abaixo:
# Isto é um comentário
server.port=8080
database.url=jdbc:mysql://localhost:3306/db
app.welcome_message=Bem-vindo ao Ferramental Web!O formato é amplamente adotado em diversos cenários:
- Spring Boot: O famoso application.properties é o padrão para configurar aplicações Java modernas.
- Android: Usado para gerenciar strings e recursos locais.
- Ferramentas de Build: Como Apache Ant e configurações de plugins no Maven.
- Sistemas Legados: Por ser fácil de ler por qualquer linguagem, é comum em sistemas antigos que precisam de uma configuração rápida.
Existem regras simples mas importantes:
- Comentários: Iniciam com # ou !. Tudo o que estiver na linha após esses símbolos é ignorado.
- Espaços: Espaços em branco ao redor do separador (=) são ignorados. "porta=80" é o mesmo que "porta = 80".
- Caracteres Especiais: Se a chave ou o valor precisar de um caractere especial, ele deve ser "escapado" com uma barra invertida (\).
- Codificação: Tradicionalmente usam ISO-8859-1 (Latin-1). Caracteres Unicode devem usar sequências de escape (ex: \u00E1).
Comparativo direto entre os formatos:
- Hierarquia: Properties é Plana (usa pontos), YAML é Visual (usa indentação).
- Complexidade: Properties é Extremamente Simples, YAML é Complexa (sensível a espaços).
- Tipagem: Properties é Tudo String, YAML suporta números, booleanos e listas.
- Comentários: Ambos suportam comentários.
A validação consiste em verificar alguns pontos chave:
- Duplicidade: Verificar se não existem chaves duplicadas (a última geralmente sobrescreve a primeira).
- Escaping: Garantir que caracteres especiais estão escapados corretamente.
- Encoding: Certificar-se de que não há caracteres ocultos ou codificação errada (UTF-8 sem BOM é o ideal hoje, embora Java legado prefira Latin-1).