Esto quiere decir que en el metodo main tengo que pedirle a spring que cargue el Context (Xml) para posteriormente poder inyectar las dependencias a las demas Clases con Setter
si vas a crear toda la aplicacion en el metodo main una sola ves con todas las dependencias
yo recomiendo que no la injeccion por setters es fea y desaconsejada mejor injecta todo por el constructor y nunca buelves a usar injecction por setters a menos que no tengas opcion como por ejemplo en codigo legado
Esto creo que esta bien. pero si yo tuviera una aplicacion con Muchisisisismas Clases entonces en la Clase de Arranque o en su defecto el Main tendria que inyectar todas las dependencias de una vez ??
ahora ya sabes por que mucha gente detesta spring y todo lo que sea "empresarial" es demasiado complejo dificil abusa del xml y la configuracion es casi imposible pero es que no existe otra opcion lo que es complejo es complejo y siempre va hacer dificil de configurar solo para que veas un ejemplo mira la especificaion antigua de ejb eso si que no se lo deseo ni a mi peor enemigo
tu configuracion xml no es recomendable mejor
<bean id="exampleBean" class="examples.ExampleBean">
<constructor-arg><ref bean="anotherExampleBean"/></constructor-arg>
<constructor-arg ref="yetAnotherBean"/>
<constructor-arg type="int" value="1"/>
</bean>
<bean id="anotherExampleBean" class="examples.AnotherBean"/>
<bean id="yetAnotherBean" class="examples.YetAnotherBean"/>
public class ExampleBean {
private AnotherBean beanOne;
private YetAnotherBean beanTwo;
private int i;
public ExampleBean(
AnotherBean anotherBean, YetAnotherBean yetAnotherBean, int i) {
this.beanOne = anotherBean;
this.beanTwo = yetAnotherBean;
this.i = i;
}
}
el problema es que tratas de relacionar un bean con una clase en el xml lo que tienes que hacer es que un bean se relacione con los otros beans
es decir no solo relacionas el nombre de un bean con una clase si no tambien relacionas sus dependencias con el nombre de otro bean
en el ejemplo que tu mismo estas creando 2 beans por las puras solo Debes creas el objA bien instanciado con todas sus dependencias ya descritas dentro del archivo xml no es necesario que crees el ObjB por que ya tines el objA con sus dependencias ya puestas
<beans>
<bean id="ClaseB" class="B"></bean>
<bean id="ClaseA" class="A">
<property name="DependenciaB">
<idref bean="ClaseB" />
</property>
</bean>
</beans>
no te aseguro que funcione el codigo por que no tengo las erramientas para comprobarlo de todas maneras te paso el link donde explica como hacerlo
http://static.springsource.org/spring/docs/2.0.x/reference/beans.html#beans-factory-collaboratorscrea una clase que tenga el nombre de ApliacionDeAlgo que este con todas sus dependencias descritas en el xml de tal manera que cuando le pidas a spring que te lo instancie ya lo tienes con todas sus depedensias puestas de tal manera que este operativo y funcional y este listo para la batalla y que no necesite que le pongas todas sus dependencias pidiendole a spring una por una y juntandola todas ademas esa clase deve tener un metodo llamado lansar tu metodo main solo deve tener una la una instancia de tu apliacion y luego deve llamar al metodo lansar y si todo sala ok tu apliacion deve estar funcionando(mostrandote el login o el formulario prinicpal)
el metodo main a lo mucho deve tener 4 lineas en el peor de los casos
aca tienes un ejemplo funcionado disculpa que sea grande y complejo y que uso muchos patrones dificiles de enetender si recien comiensas pero estoy sin tiempo ni erramientas asi que solo te puedo dejar un link
http://www.atomicobject.com/files/presenter_first_adapter_example.zip