Mam następujący w wiosennej Fasola:Jak zdefiniować @Value jako opcjonalny
@Value("${myValue}")
private String value;
Wartość jest poprawnie wstrzyknięty. Jednak zmienna musi być opcjonalna, jest przekazywana jako parametr wiersza poleceń (który jest następnie dodawany do kontekstu Spring za pomocą SimpleCommandLinePropertySource), a ten argument nie zawsze będzie istnieć.
Próbowałem oba następujące w celu zapewnienia Wartość domyślna:
@Value("${myValue:}")
@Value("${myValue:DEFAULT}")
ale w każdym przypadku, domyślnym argumentem po dwukropku jest wstrzykiwany nawet gdy istnieje rzeczywista wartość - to wydaje przesłonić co Wiosna powinna wstrzyknąć.
Jaki jest właściwy sposób określenia, że @ Wartość nie jest wymagany?
Dzięki
To bardzo dziwne ... domyślna wartość powinna działać tylko jako wartość domyślna (tj. Gdy właściwość nie jest zdefiniowana). Czy możesz dwukrotnie sprawdzić wyciągi "wartość domyślna jest wstrzykiwana, nawet jeśli istnieje rzeczywista wartość" (np. Jeśli nie ma starej skompilowanej klasy)? –
'@Value (" $ {some.prop:} ")' działa dla mnie. To jest jedyna adnotacja w tej zmiennej. – Zarathustra
Czy możesz wysłać swoją konfigurację aplikacji? –