Vorrei creare un numero di bean da una singola classe, tutto da istanziare nel contesto dell'applicazione corrente, ciascuno basato su proprietà prefissate in un file di proprietà. Ho dato un esempio di ciò che sto cercando di ottenere. Sarebbe gradito qualsiasi suggerimento su come fare questo senza un codice eccessivo (ad esempio senza classi multiple, fabbriche complicate, ecc.).Riferimento a una proprietà del bean corrente in primavera EL
configurazioneXML:
<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>
Proprietà del file:
bean1.name=alfred
bean2.name=bobby
bean3.name=charlie
Classe:
class Mybean {
@Value("${#{prefix}.name}")
String name;
}
principale Classe:
public class Main {
@Autowired
List<MyBean> mybeans;
}
Mi potete dare un esempio di come si sarebbe riferimento alla proprietà con conseguente primavera EL in un'annotazione @Value? – ironchefpython
Penso che lo trovi [qui] (https://stackoverflow.com/questions/2041558/how-does-spring-3-expression-language-interact-with-property-placeholders?rq=1) –
Questo spiega come per fare riferimento ai dati nel bean segnaposto della proprietà Spring. Non spiega come fare riferimento alle proprietà definite sul bean * in fase di configurazione. – ironchefpython