Spring @Value com Valores Defaults
Vou mostrar neste post como você pode adicionar valores padrões para os atributos que utilizam valores de propriedades com @Value do Spring.
Última atualização em: | 6982 Visualizações
A anotação @Value do Spring fornece uma maneira conveniente de injetar valores de propriedades nos componentes. Assim sempre que definir um valor no seu arquivo de propriedades, se torna muito simples para obter esses valores no código para fazer uso em seu código.
Mas, em alguns casos, queremos manter valores padrões ou defaults, como preferir. Para isso a anotação nos fornece uma forma simples e fácil de informar alguns valores padrões para caso não encontrar a propriedade no arquivo de propriedades.
Vamos ver alguns exemplos:
@Value Padrões para Texto
Esta é a sintaxe básica para definir um valor padrão para uma String:
@Value("${title.of.page.key:Meu título padrão}")
private String titleOfPage;
Note que se caso
title.of.page.key
não for encontrado, o valor utilizado será:Meu título padrão
.
Ou caso queira atribuir uma String vazia como valor default use:
@Value("${title.of.page.key:}")
private String titleOfPage;
@Value Padrões para Primitivas
Sempre que precisar definir valores padrões para tipos primitivos como: int
e boolean
basta informar o valor literal. Veja:
@Value("${validate.key:true}")
private boolean validateWithDefaultValue;
@Value("${max.key:20}")
private int maxWithDefaultValue;
Note que o resultado seria o mesmo se utilizasse
Integer
ouBoolean
.
@Value Padrões para Listas
Outra possibilidade é utilizar valores padrões para listas ou arrays
. Veja:
@Value("${name.key:one,two,three}")
private String[] nameStringArrayWithDefaults;
@Value("${year.key:2018,2019,2020}")
private int[] yearsIntArrayWithDefaults;
Resolveu seu problema? Temos outros assuntos falando sobre @Value
e mostrando como pode utilizar esse recurso em seu projeto. Veja mais abaixo e bom uso.
Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.