Ich möchte eine Reihe von Beans aus einer einzigen Klasse erstellen, die alle im aktuellen Anwendungskontext instanziiert werden und jeweils auf Präfixeigenschaften in einer Eigenschaftendatei basieren. Ich habe ein Beispiel dafür gegeben, was ich erreichen möchte. Irgendwelche Tipps, wie dies ohne übermäßigen Code (z. B. ohne mehrere Klassen, komplizierte Fabriken usw.) zu tun wäre, würden geschätzt werden.Verweis auf eine Eigenschaft der aktuellen Bean in Spring EL
XML-Konfiguration:
<bean id="bean1" class="Mybean">
<property name="prefix" value="bean1"/>
</bean>
<bean id="bean2" class="Mybean">
<property name="prefix" value="bean2"/>
</bean>
<bean id="bean3" class="Mybean">
<property name="prefix" value="bean3"/>
</bean>
Eigenschaften Datei:
bean1.name=alfred
bean2.name=bobby
bean3.name=charlie
Klasse:
class Mybean {
@Value("${#{prefix}.name}")
String name;
}
Hauptklasse:
public class Main {
@Autowired
List<MyBean> mybeans;
}
Können Sie mir ein Beispiel, wie Sie die resultierende Eigenschaft im Frühjahr EL in einem @Value Anmerkung verweisen würde? – ironchefpython
Ich denke, Sie finden es [hier] (https://stackoverflow.com/questions/2041558/how-does-spring-3-expression-language-interact-with-property-placeholders?rq=1) –
Das erklärt, wie Referenzieren von Daten in der Spring-Eigenschaft-Platzhalter-Bean. Es wird nicht erläutert, wie auf Eigenschaften verwiesen wird, die für die zu konfigurierende * Bean * definiert sind. – ironchefpython