Tengo lo siguiente en un bean Spring:
@Value("${myValue}")
private String value;
El valor se inyecta correctamente. Sin embargo, la variable debe ser opcional, se pasa como un parámetro de línea de comando (que luego se agrega al contexto Spring usando SimpleCommandLinePropertySource ), y este argumento no siempre existirá.
He intentado lo siguiente para proporcionar un valor predeterminado:
@Value("${myValue:}")
@Value("${myValue:DEFAULT}")
pero en cada caso, el argumento predeterminado después de que se inyectan los dos puntos incluso cuando hay un valor real; esto parece anular lo que Spring debería inyectar.
¿Cuál es la forma correcta de especificar que @Value no es obligatorio?
Gracias
@Value("${some.prop:}")
funciona para mí. Esa es la única anotación sobre esa variable.