Injizieren von Eigenschaften in Spring Beans über Annotationen
Beim Umgang mit Spring Beans, die über Annotationen erkannt werden, kann das Einfügen von Eigenschaftswerten aus externen Quellen sinnvoll sein eine Herausforderung. In diesem Artikel wird eine Lösung für dieses Problem durch die Nutzung der EL-Unterstützung in Spring 3 untersucht.
Das ursprüngliche Problem entstand dadurch, dass Beans mit @Repository annotiert wurden, wodurch die Möglichkeit entfiel, sie explizit in der Spring-XML-Datei zu konfigurieren. Um jedoch einen Eigenschaftswert einzufügen, wäre ein typischer Ansatz unter Verwendung der XML-Konfiguration der Bean nicht möglich.
Die Lösung liegt in der Nutzung der @Value-Annotation in Spring 3, die es Entwicklern ermöglicht, Eigenschaftswerte direkt in Felder einzufügen oder Setter-Methoden. Die Syntax hierfür lautet:
@Value("#{systemProperties.databaseName}") public void setDatabaseName(String dbName) { ... }
Das systemProperties-Objekt ist ein implizites Objekt, und auf die Eigenschaft „databaseName“ kann innerhalb der Setter-Methode zugegriffen werden.
Darüber hinaus ist es möglich, Eigenschaften von einzufügen Eigenschaftenobjekte mit @Value:
@Value("#{myProperties['github.oauth.clientId']}") private String githubOauthClientId;
Diese Methode bietet eine flexible Möglichkeit, externe Eigenschaftswerte in Spring Beans einzufügen. Ausführlichere Informationen finden Sie im Blog-Beitrag in der Originalantwort.
Das obige ist der detaillierte Inhalt vonWie füge ich Eigenschaften in mit @Repository annotierte Spring Beans ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!