Habe 2 Java Beans in meinem Spring-Boot-Projekt. Die erste Bean erhält die Werte aus der Eigenschaftendatei (Spring injected) und die zweite Bean erhält die Werte aus verschiedenen Quellen.Spring inject Eigenschaftswerte von einer Bean in eine andere Bean
Nach der Initialisierung von Spring möchte ich die Eigenschaftswerte aus der zweiten Bean in die erste Bean zusammenführen. Bitte lassen Sie wissen, ob Spring eine Klasse bietet, um die Werte dynamisch zu injizieren.
first bean gets the values from property file:
----------------------------------------------
@value("username")
private String username
@Value("server")
private String servername
@Value("inject from second bean")
private String location
@Value("inject from second bean")
private boolean enabled
second bean gets the values from different source
-----------------------------------------------
private String location
private boolean enabled
Dies aktualisiert die erste Bean nicht, da die zweite Bean nach der Spring-Initialisierung aktualisiert wurde. Wenn in der zweiten Bean ein Standardwert festgelegt ist, wurde sie in der ersten Bean aktualisiert, aber wenn die zweite Bean nach dem Initialize/Post-Konstrukt aktualisiert wurde, werden die Änderungen nicht an die erste weitergegeben. – skumar
Die einzige Alternative ist, sie im Postconstruct zu setzen. Aber wenn Sie sie in einer Art "Live" Weise aktualisieren möchten .. dann müssten Sie einige benutzerdefinierte Beobachter oder etwas ähnliches erstellen. –
postconstruct hat nicht funktioniert. möglicherweise werde ich die Getter-Methode der ersten Bean aktualisieren, um die zweite Bean-Eigenschaft zu betrachten getLocation() {anotherbean.getLocation()} – skumar