A la hora de declarar beans con spring podemos establecer una jerarquía de beans para lo cual necesitamos
pasar en los atributos de las declaraciones las referencias a otros bean
Interface actividades
1 2 3 4 5 6 7 | package tercerejemplo; public interface Actividades { public abstract void actividad(); } |
Clase Caminar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package tercerejemplo; public class Caminar implements Actividades { private String mensaje; public Caminar(String mensaje) { this.mensaje = mensaje; } public void actividad () { System.out.println(mensaje); } } |
Clase Hablar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package tercerejemplo; public class Hablar implements Actividades { private String palabras; public Hablar(String palabras) { this.palabras = palabras; } public void actividad() { System.out.println(this.palabras); } } |
Clase Medico
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | package tercerejemplo; import java.util.Collection; public class Medico extends Persona { private Collection <Actividades> actividades; private String especialidad; public Medico (String nombreMedico) { super(nombreMedico); } public void setEspecialidad ( String especialidad) { this.especialidad = especialidad; } public void setActividades(Collection<Actividades> actividades) { this.actividades = actividades; } public void datos () { System.out.println(this.nombre); System.out.println(this.especialidad); this.mostrarActividades(); } public void mostrarActividades () { for ( Actividades actividad : this.actividades ) { super.setActividad(actividad); super.actividades(); } } } |
Clase persona
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | package tercerejemplo; public class Persona { Actividades actividad; String nombre; public Persona () { } public Persona(String nombre) { this.nombre = nombre; } public void setActividad(Actividades actividad) { this.actividad = actividad; } public void actividades () { actividad.actividad(); } } |
Clase principal PersonaApp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | package tercerejemplo; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.Resource; import org.springframework.core.io.ClassPathResource; public class PersonaApp { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Resource recurso = new ClassPathResource("Medico.xml"); BeanFactory factoria = new XmlBeanFactory(recurso); Medico persona = (Medico) factoria.getBean("medico"); persona.datos(); } } |

