definieren ich folgendes in einem Spring-Bean haben:Wie @Value als optionale
@Value("${myValue}")
private String value;
Der Wert korrekt eingespritzt wird. Die Variable muss jedoch optional sein. Sie wird als Befehlszeilenparameter übergeben (der dann mithilfe einer SimpleCommandLinePropertySource zum Spring-Kontext hinzugefügt wird), und dieses Argument wird nicht immer vorhanden sein.
Ich habe versucht, die beide folgend, um einen Standardwert zur Verfügung zu stellen:
@Value("${myValue:}")
@Value("${myValue:DEFAULT}")
aber in jedem Fall das Standardargument nach dem Doppelpunkt selbst injiziert wird, wenn ein Istwert - das erscheint, was außer Kraft setzen Der Frühling sollte spritzen.
Was ist die korrekte Art zu spezifizieren, dass @Value nicht erforderlich ist?
Dank
Das ist sehr seltsam ... der Standardwert sollte nur als Standardwert fungieren (d. H. Wenn die Eigenschaft nicht definiert ist). Können Sie Ihre Aussage überprüfen, dass "der Standardwert selbst dann injiziert wird, wenn ein tatsächlicher Wert vorhanden ist" (z. B. wenn es keine alte kompilierte Klasse gibt)? –
'@Value (" $ {some.prop:} ")' funktioniert für mich. Das ist die einzige Annotation für diese Variable. – Zarathustra
Können Sie Ihre Anwendungskonfiguration posten? –