commons-logging.jar
spring.jar
Definicio de la interface DatosPersonales
package org.dracof.spring.inyeccion;
public interface DatosPersonales {
public void setNombre(String nombre);
public void setEdad(int edad);
public void setRfc(String rfc);
}
Implementacion de la interface DatosPersonales
package org.dracof.spring.inyeccion.impl;
import org.dracof.spring.inyeccion.DatosPersonales;
public class DatosPersonalesImpl implements DatosPersonales {
private String nombre;
private int edad;
private String rfc;
public DatosPersonalesImpl(){
}
public DatosPersonalesImpl(String nombre, int edad, String rfc){
this.nombre = nombre;
this.edad = edad;
this.rfc = rfc;
}
public void setEdad(int edad) {
this.edad = edad;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setRfc(String rfc) {
this.rfc = rfc;
}
public String toString() {
StringBuilder cadena = new StringBuilder();
cadena.append("Nombre:").append( this.nombre );
cadena.append("; Edad: ").append( this.edad );
cadena.append("; RFC: ").append( this.rfc );
return cadena.toString();
}
}
Application Context
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- Inyeccion por setters -->
<bean id="datosPersonalesJuanito" class="org.dracof.spring.inyeccion.impl.DatosPersonalesImpl">
<property name="nombre" value="Juanito"/>
<property name="edad" value="33"/>
<property name="rfc" value="JAN32323212"/>
</bean>
<!-- Inyeccion por setters usando <value>-->
<bean id="datosPersonalesPepito" class="org.dracof.spring.inyeccion.impl.DatosPersonalesImpl">
<property name="nombre">
<value>Pepito</value>
</property>
<property name="edad">
<value>54</value>
</property>
<property name="rfc">
<value>PEP2145322</value>
</property>
</bean>
<!-- Inyeccion por constructor respetando orden de parametros -->
<bean id="datosPersonalesDracofito" class="org.dracof.spring.inyeccion.impl.DatosPersonalesImpl">
<constructor-arg value="Drascofito"/>
<constructor-arg value="28"/>
<constructor-arg value="DRA231234"/>
</bean>
<!-- Inyeccion por constructor indicando el orden de parametros con index -->
<bean id="datosPersonalesDracofito2" class="org.dracof.spring.inyeccion.impl.DatosPersonalesImpl">
<constructor-arg value="Drascofito" index="0"/>
<constructor-arg value="DRA231234" index="2"/>
<constructor-arg value="28" index="1"/>
</bean>
<!-- Inyeccion por constructor usando <value> -->
<bean id="datosPersonalesGordita" class="org.dracof.spring.inyeccion.impl.DatosPersonalesImpl">
<constructor-arg>
<value>Gordita</value>
</constructor-arg>
<constructor-arg>
<value>15</value>
</constructor-arg>
<constructor-arg>
<value>GOR544321</value>
</constructor-arg>
</bean>
<!-- Definicion de string para usarlo despues como ref -->
<bean id="nombreX" class="java.lang.String">
<constructor-arg value="Nombre Desconocido"/>
</bean>
<!-- Definicion de Integer para usarlo despues como ref -->
<bean id="edadX" class="java.lang.Integer">
<constructor-arg value="0"/>
</bean>
<!-- Definicion de string para usarlo despues como ref -->
<bean id="rfcX" class="java.lang.String">
<constructor-arg value="RFC Desconocido"/>
</bean>
<!-- Inyeccion por constructor usando referencias a otros beans definidos-->
<bean id="datosPersonalesDesconocido" class="org.dracof.spring.inyeccion.impl.DatosPersonalesImpl">
<constructor-arg ref="nombreX"/>
<constructor-arg ref="edadX"/>
<constructor-arg ref="rfcX"/>
</bean>
</beans>
Clase de pruebas
package org.dracof.spring.test;
import org.dracof.spring.inyeccion.DatosPersonales;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class DatosPersonalesPrueba {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
DatosPersonales datosJuanito = (DatosPersonales) context.getBean("datosPersonalesJuanito");
System.out.println( datosJuanito.toString() );
DatosPersonales datosPepito = (DatosPersonales) context.getBean("datosPersonalesPepito");
System.out.println( datosPepito.toString() );
DatosPersonales datosDracofito = (DatosPersonales) context.getBean("datosPersonalesDracofito");
System.out.println( datosDracofito.toString() );
DatosPersonales datosDracofito2 = (DatosPersonales) context.getBean("datosPersonalesDracofito2");
System.out.println( datosDracofito2.toString() );
DatosPersonales datosGordita = (DatosPersonales) context.getBean("datosPersonalesGordita");
System.out.println( datosGordita.toString() );
DatosPersonales datosDesconocido = (DatosPersonales) context.getBean("datosPersonalesDesconocido");
System.out.println( datosDesconocido.toString() );
}
}
Salida:
Nombre:Juanito; Edad: 33; RFC: JAN32323212
Nombre:Pepito; Edad: 54; RFC: PEP2145322
Nombre:Drascofito; Edad: 28; RFC: DRA231234
Nombre:Drascofito; Edad: 28; RFC: DRA231234
Nombre:Gordita; Edad: 15; RFC: GOR544321
Nombre:Nombre Desconocido; Edad: 0; RFC: RFC Desconocido
Descargar Proyectito
InyeccionSpring.zip
Suerte.
No hay comentarios:
Publicar un comentario