Pular para conteúdo

Configuração

A configuração separa escolhas de implantação do código da aplicação. O Spring Boot combina várias fontes de propriedades segundo uma ordem de precedência definida e sensível à versão.

Vinculação estruturada

@ConfigurationProperties("catalog.client")
@Validated
public record CatalogClientProperties(
        @NotNull URI baseUrl,
        @NotNull Duration connectTimeout,
        @Min(1) int maximumConnections) {
}

A vinculação estruturada torna nomes, tipos, valores padrão e validação revisáveis. Uma falha na inicialização por ausência de configuração crítica é, em geral, mais segura do que uma falha tardia durante uma requisição.

Valores como maximumConnections são políticas operacionais de capacidade, não mera sintaxe; escolha-os com o guia de pools e recursos limitados.

Segredos

Não armazene segredos reais em arquivos de configuração versionados, exemplos ou diagnósticos de configuração. Obtenha-os por um mecanismo fornecido pelo ambiente de implantação, conceda privilégio mínimo, faça rotação e defina como a aplicação se comporta quando o segredo não está disponível.

Perfis

Perfis ativam grupos de configuração e beans. Muitos perfis combináveis criam um espaço de estados difícil de testar. Prefira propriedades explícitas quando a diferença for apenas um valor.

Valores padrão e precedência

Um padrão útil é seguro e pouco surpreendente. Documente qual fonte deve sobrescrevê-lo. Evite espalhar strings de @Value pelo código e não dependa de uma ordem de precedência presumida sem consultar a referência oficial atual.

Lista de verificação operacional

  • valide os valores obrigatórios na inicialização;
  • expresse durações e tamanhos com unidades tipadas;
  • exponha configuração efetiva não sensível quando útil ao diagnóstico;
  • impeça que conveniências de desenvolvimento sejam ativadas silenciosamente em produção;
  • teste a vinculação da configuração e as combinações críticas de perfis.

Consulte a documentação de configuração externa.