¿Que es SPRING?
Un framework contenedor liviano basado en la tecnica INVERSION DE CONTROL (IoC) y una implementacion de desarrollo segun el paradigma de ORIENTACION A ASPECTOS (AOP).
*Framework: porque define la forma de desarrollar aplicaciones J2EE, dando soporte y simplificando complejidad propia del software corporativo.
*Inversión de Control (IoC): promueve el bajo acoplamiento a partir de la inyección de dependencias (DI) entre los objetos (relaciones).
*Orientación a Aspectos (AOP): presenta una estructura simplificada para el desarrollo y utilización de aspectos.
ARQUITECTURA
*DAO: accesos JDBC con manejo de transacciones (desde el módulo AOP).
*ORM: integración con Hibernate, JDO, etc.
*JEE: acceso e interacción con servicios enterprise.
*WEB: provee un contexto apropiado para el desarrollo de aplicaciones web e integración con otros frameworks (Struts, JSF, etc).
CARACTERÍSTICAS CLAVE
*POJO: Plain Old Java Object. Revalora la simplicidad de las clases Java aportando manejo de transacciones de forma no intrusiva.
*XML: configuración basada en archivos XML.
*SEGURIDAD: como un requerimiento no funcional implementado como un aspecto (AOP) a través del framework Acegi.
*REMOTING: RMI simplificado, acceso y publicación de web services.
*TESTING: provee un package de testing específico para componentes del framework e integrado con JUnit.
Volviendo al diseño MVC donde se comunica el Controlador con el Servicio, Servicio con Dao, etc.. Existen dos formas de comunicación:
-COMPOSICIÓN: Desde el Controlador se crea un Servicio. Servicio s=new Servicio(); Si dos controladores usan el mismo Servicio y dentro del Controlador creamos un servicio tendremos serios problemas (la referencia del servicio será distintas en cada controlador). ESTO NO SE PUEDE.
-AGREGACIÓN: Desde el controlador: Servicio s;--->¿Quién se encarga de referenciar el servicio? --> SPRING-CONTAINER.
Veamos un controlador:
class Controlador{
Servicio s2;
public void setS2(Servicio s){
s2=s;
}
}
Como implementa SPRING el Servicio:
Controlador c1=new Controlador();
Servicio s2=new Servicio();
c1.setS2(s2);
Buscador
Etiquetas Archivos
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario