introducci n a spring
Download
Skip this Video
Download Presentation
Introducción a Spring

Loading in 2 Seconds...

play fullscreen
1 / 28

Introducción a Spring - PowerPoint PPT Presentation


  • 211 Views
  • Uploaded on

Introducción a Spring . Sesión 1: Introducción y teoría . Juan Irungaray [email protected] Agenda. Introducción Componentes de Spring Inversión de control / Inyección de dependencias Configurando Spring: Metadata Instanciando un Bean Dependencias Autowiring Scopes Herencia.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Introducción a Spring' - bayle


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
introducci n a spring

Introducción a Spring

Sesión 1: Introducción y teoría

Juan Irungaray

[email protected]

agenda
Agenda
  • Introducción
  • Componentes de Spring
  • Inversión de control / Inyección de dependencias
  • Configurando Spring: Metadata
  • Instanciando un Bean
  • Dependencias
  • Autowiring
  • Scopes
  • Herencia
introducci n
Introducción
  • Aplicaciones OO
    • Arquitecturas variadas
    • Complejidades variadas
    • Gran cantidad de herramientas, frameworks y librerías

Spring

  • Facilita la construcción de aplicaciones
  • Promueve el uso de buenas practicas
  • Arquitectura probada, madura y estable
  • Facilidad de extensión y customización
inversi n de control
Inversión de control

Objetos de negocio (POJOs)

Metadata

Container Spring (BeanFactory)

Objetos listos para usar

instanciando un bean constructor
Instanciando un Bean - Constructor
  • Constructor
    • Se especifica la clase del objeto con el atributo “class”
    • El objeto creado es una instancia de esta clase
instanciando un bean factory
Instanciando un Bean - Factory
  • Factory – Método de clase
    • Se especifica la clase Factory con el atributo “class”
    • Se especifica el método que construye con el atributo “factory-method”
  • Factory – Método de instancia
    • No se define atributo “class”
    • Se especifica el nombre de la instancia de Factory con el atributo “factory-bean”
    • Se especifica el método que construye con el atributo “factory-method”
dependencias
Dependencias
  • Inyección de dependencias
    • Argumento del constructor
    • Argumento del método factory
    • Propiedades a ser insertadas
  • Valores posibles
    • Valores directos
    • Colaboradores
    • Beans internos
    • Colecciones (List , Set, Map, Properties)
    • Null
autowiring
Autowiring
  • Se puede configurar particular en el elemento o en general en el elemento
  • Reduce la necesidad de especificar alguna propiedades o argumentos de constructores.
  • Facilita el mantenimiento y la “evolución automática” de la configuración.
  • Configuraciones posibles
    • No
    • byName
    • byType
    • Constructor
    • Autodetect

Una propiedad o argumento especificado siempre tiene prioridad sobre un valor “autowired”

scopes
Scopes
  • Configuran como maneja Spring las instancias de una clase
  • Existen 5 valores out of the box:
    • Singleton
    • Prototype
    • Request (Solo para aplicaciones web)
    • Session (Solo para aplicaciones web)
    • Global Session (Solo para aplicaciones web-portlet)
herencia
Herencia
  • Permite extender y reutilizar definiciones de beans
    • Bean Padre
    • Bean Hijo

La herencia de beans no representa ninguna relación entre los objetos que estos beans generan

repaso
Repaso
  • Spring es un framework líder, utilizado por empresas de todo tamaño.
  • Spring permite componer una aplicación utilizando únicamente POJOs
  • Facilita la integración entre tecnologías.
  • Es una implementación de mejores practicas de programación.
  • Esta diseñado para utilizar únicamente lo que uno necesita.
  • Facilita la codificación y mejora la mantenibilidad de la aplicación(DI).
  • Desacopla la lógica de la configuración.
agenda1
Agenda
  • @nnotations
  • Capa de acceso de datos
    • DAO Support
    • Utilizando JDBC
    • Integración con ORMs (Hibernate)
  • Web MVC
    • Framework
    • Controllers
    • Handler Mappings
    • View Resolvers
    • Integracion con Struts
@nnotations
@Component, @Service , @Repository & @Controller

@PostConstruct & @PreDestroy

@Autowired

@Required

@Resource

@nnotations
dao support
DAO Support
  • Facilitar el acceso a tecnologías como JDBC, Hibernate, o JDO
  • Provee una jerarquía de Excepciones consistente
  • Provee clases homologas para acceder a las diferentes tecnologías
    • JdbcDaoSupport
    • HibernateDaoSupport
    • JdoDaoSupport
    • JpaDaoSupport
dao jdbc
DAO - JDBC
  • Tareas necesarias en una conexión JDBC:

1. Definir parámetro de conexión

2. Abrir la conexión

3. Especificar un Statement

4. Preparar y ejecutar dicho Statement

5. Iterar sobre los resultados obtenidos

6. Hacer la tarea necesaria para cada iteracion del resultado

7. Manejar excepciones

8. Manejar transacciones

9. Cerrar conexión

slide18
ORM
  • Facilidad de testing
  • Excepciones traducidas
  • Manejo de recursos generales
  • Manejo de transacciones integrados
hibernate
HibernateTemplate

HibernateDaoSupport

Hibernate
web mvc
Web MVC

El archivo de contexto se debe llamar -servlet.xml y encontrarse en el directorio WEB-INF

web mvc framework
Web MVC framework
  • Separación clara de roles
  • Configuración de framework y aplicación a través de JavaBeans
  • Adaptabilidad (No intrusivo)
  • Reutilización de código de negocio
  • Validación y binding customizables
  • Mapeo de URLs y resolución de vistas customizable
  • Soporte I18N
  • Beans con Scope vinculados a request o sesiones HTTP.
  • Controller
  • Handler Mappings
  • View Resolvers
  • Locale Resolvers
  • Theme Resolvers
  • Multipart File Resolvers
  • Exception Handler Resolvers
controllers
Controllers

Interpretan el input del usuario y lo transforman en un modelo a ser representado por la vista

  • MultiActionController
  • AbstractCommandController
  • AbstractFormController
  • SimpleFromController
  • AbstractWizardFormController

Utilizando la annotation @Controller se puede utilizar cualquier clase como controller, no hace implementar o extender de nada

handler mappings
Handler Mappings
  • SimpleUrlHandlerMapping
  • BeanNameUrlHandlerMapping

El uso de handlerMappings se puede obviar utilizando annotations. Aunque se pueden combinar ambos estilos no es recomendado.

view resolvers
View Resolvers
  • AbstractCachingViewResolver
  • XmlViewResolver
  • ResourceBundleViewResolver
  • UrlBasedViewResolver
  • InternalResourceViewResolver
  • VelocityViewResolver / FreeMarkerViewResolver
integracion con struts
Integracion con Struts
  • Se utiliza Spring como si fuese una librería
  • Para la integración hay 2 estrategias:
    • Configurar Spring para manejar los Actions como Beans
    • Extender ActionSupport
repaso1
Repaso
  • Spring provee soporte para annotations (Java 5+), no solo para funcionalidad core sino para la capa de datos y la vista.
  • El soporte DAO de Spring se encarga de todas las tareas de bajo nivel
  • El soporte a la capa de datos es totalmente abstracto y se integra con los frameworks mas importantes del mercado
  • La capa de web es totalmente agnóstica de la vista. Permite usar tanto Spring MVC como otros frameworks de manera simple y consistente.
referencias
Referencias
  • Spring
    • Home Spring - http://www.springsource.org/
    • Documentación - http://static.springsource.org/spring/docs/2.5.x/reference/index.html
ad