DarthShader
Erfahrenes Mitglied
Hallo,
ich bin gerade dabei, mich in die Dep. Injection von Spring / Spring Context einzuarbeiten und habe drei Fragen zu der XML Datei, die mir den Application Context konfiguriert:
1. Wenn ich einem Objekt A ein Objekt B injizieren will, schreibe ich das ja so:
Hier bekommt das objectA eine Referenz auf objectB. Die Frage ist, kann ich das auch so angeben:
Sodass ich hier gleich im XML Code so eine Verschachtelung habe und gleich sehe, welches Bean zu einem anderen gehört? Und könnte ich dann nicht die id vom "inneren Bean" weglassen?
2. Dann noch eine Frage, ich habe gelesen, dass Spring standardmäßig die Beans als Singletons behandelt. Kann ich dann folgendes machen:
Also 2 Beans, dieselbe Klasse, aber verschieden parametrisiert und Spring instanziiert automatisch 2 Objekte, einmal mit id "objectA100" und einmal mit id "objectA200"?
3. Und als letztes etwas sehr simples: Kann ich mir einen ApplicationContext aus einer XML Konfiguration bauen, die als String (der den XML Code enthält), und nicht als XML Datei, vorliegt (ich sehe in Beispielen immer nur die ClassPathResource Klasse, die die XML Konfiguration aus einer Datei, die im Classpath liegt, liest).
Vielen Dank für Eure Hilfe!
ich bin gerade dabei, mich in die Dep. Injection von Spring / Spring Context einzuarbeiten und habe drei Fragen zu der XML Datei, die mir den Application Context konfiguriert:
1. Wenn ich einem Objekt A ein Objekt B injizieren will, schreibe ich das ja so:
Code:
<beans>
<bean id="objectB" class="..."></bean>
<bean id="objectA" class="...">
<property name="objectB">
<ref bean="objectB">
</property>
</bean>
</beans>
Hier bekommt das objectA eine Referenz auf objectB. Die Frage ist, kann ich das auch so angeben:
Code:
<beans>
<bean id="objectA" class="...">
<property name="objectB">
<bean id="objectB" class="..."></bean>
</property>
</bean>
</beans>
Sodass ich hier gleich im XML Code so eine Verschachtelung habe und gleich sehe, welches Bean zu einem anderen gehört? Und könnte ich dann nicht die id vom "inneren Bean" weglassen?
2. Dann noch eine Frage, ich habe gelesen, dass Spring standardmäßig die Beans als Singletons behandelt. Kann ich dann folgendes machen:
Code:
<beans>
<bean id="objectA100" class="de.foo.ObjectA">
<property name="max" value="100" />
</bean>
<bean id="objectA200" class="de.foo.ObjectA">
<property name="max" value="200" />
</bean>
</beans>
Also 2 Beans, dieselbe Klasse, aber verschieden parametrisiert und Spring instanziiert automatisch 2 Objekte, einmal mit id "objectA100" und einmal mit id "objectA200"?
3. Und als letztes etwas sehr simples: Kann ich mir einen ApplicationContext aus einer XML Konfiguration bauen, die als String (der den XML Code enthält), und nicht als XML Datei, vorliegt (ich sehe in Beispielen immer nur die ClassPathResource Klasse, die die XML Konfiguration aus einer Datei, die im Classpath liegt, liest).
Vielen Dank für Eure Hilfe!