Вы находитесь на странице: 1из 20

Desarrollo de Aplicaciones

con Spring
1. Introduccin
Problemas J2EE
Mucho cdigo sin valor
Framework Intrusivo
Dificil realizacin de Test de Unidad
Modelo de objetos distribuidos obligatorio
Problemas J2EE
Mucho cdigo sin valor
Framework Intrusivo
Dificil realizacin de Test de Unidad
Modelo de objetos distribuidos obligatorio
Ventajas de Spring 1
Framework no-invasivo
Modelo de programacin consistente, usable en
cualquier entorno
Promociona la reutilizacin de cdigo
Promociona la programacin orientada a objetos en
entornos J2EE
Facilita buenas prcticas de programacin (ej.
Interfaces en vez de clases)
Ventajas de Spring 2
Promueve la Enchufabilidad (plugins)
Facilita la extraccin de configuraciones del
cdigo
Facilita la realizacin de test unitarios
Promociona la eleccin de arquitectura
No reinventa la rueda
Objetos POJO
Spring usa objetos POJO sin dependencias.
Codigo reusable en otros entornos.
Codigo enfocado nicamente a las reglas de
negocio.
Ejemplos
Crear un mtodo que se ejecute dentro de una
transaccin sin conocer la api transaccional
Hacer un mtodo que sea remoto sin implementar
apis remotas.
...
Inversin de Control
La forma tradicional de programacin es un cdigo central
(cdigo de control) que llama a componentes o subrutinas.
Problemas:
Rigidez: Dificil de cambiar y ampliar. Los cambios pueden
afectar a muchas partes del cdigo.
Fragilidad: Cuando se realiza un cambio, este puede romper
otras prtes del programa
Inmobilidad: Es dificil reusar este tipo de cdigo
Dependencia
En la programacin actual es necesario abordar el problema de
la dependencia entre componentes.
Inversin de Control
Invierte el modelo de programacin tradicional.
Se programan partes de cdigo determinadas.
Debe existir un componente que se encarga del flujo de existencia del
programa.
El framework implementa las estructuras de alto nivel y el cdigo de
usuario implementa las tareas de bajo nivel.
Ventajas:
Desacople entre componentes
Cada componente se centra en la tarea especifica que para que se le ha
creado
Cada componente no sabe que hacen los demas o que debera hacer
Reemplazar componentes no tendr efectos secundarios en otros
componentes.
Inyeccin de Dependencias
Es una de las implementaciones para conseguir
implementar la inversin de control
Es la especificacin que implementa Spring.
Inyeccin de Dependencias
Inversin de Control y Inyeccin
de dependencias
Core de Spring
Framework se encarga de configurar las clases y
dependencias.
Mtodos estandar, sin dependencias a Interfaces o
Clases.
Framework llama a la clase y no la clase llama al
framework (Principio Hollywood)
Modulos Spring
Core Container
Responsable de la IoC y DI - BeanFactory
Context Internalizacin, carga de recursos.
ApplicationContext
Expression Language Extensin de el estandar EL
Jsp 2.1. Asignacin de propiedades, arrays y
colecciones, llamada a mtodos, etc.
Data Access Integration
JDBC Abstraccin de acceso a JDB
ORM Integracin con herramientas de mapeo
object-relation. JDO, JPA, Hibernate, iBatis.
OXM Abstraccin de herramientas de mapeo
objetos-XML. JAXB, Castor, XMLBeans, JiBX,
Xstream
JMS
Transaction
WEB
Web Integracin bsica con la web. Iniciacin del
contenedor IoC con Servlet listener.
ApplicationContext orientado a web.
Web-Servlet Spring MVC
Web-Struts Integracin con Struts
Web-Portlet MVC para entornos de portales.
AOP
Implementacin de Programacin Orientada a
Aspectos
Instrumentalizacin de clases.
Test
Integracin para test de Unidad.
Junit o TestNG
ApplicationContext para entornos de Test
Dependencias
Spring Framework no tiene dependencias fuertes a
otras librerias.
Si se usan algunas partes de spring, es necesario
incluir algunas librerias de terceros (ej.: Hibernate)
La nica dependencia fuerte es a una librera de
logging (ej.: commons-logging)

Вам также может понравиться