Eu tenho o seguinte em um bean Spring:
@Value("${myValue}")
private String value;
O valor é injetado corretamente. No entanto, a variável precisa ser opcional, ela é passada como um parâmetro de linha de comando (que é então adicionado ao contexto Spring usando um SimpleCommandLinePropertySource ) e este argumento nem sempre existirá.
Tentei os seguintes procedimentos para fornecer um valor padrão:
@Value("${myValue:}")
@Value("${myValue:DEFAULT}")
mas em cada caso, o argumento padrão após os dois pontos é injetado, mesmo quando há um valor real - parece substituir o que o Spring deve injetar.
Qual é a maneira correta de especificar que @Value não é necessário?
obrigado
@Value("${some.prop:}")
funciona para mim. Essa é a única anotação nessa variável.