Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porLaura Margarita Rivero Hernández Modificado hace 9 años
1
Softlogia S.R.L. Formación de Recursos Humanos Spring Instructor: Martin R. Baspineiro
2
Spring – Clase 1 Porque debemos conocer Spring? Conceptos necesarios Módulos de Spring Escenarios de uso Modulo Core Container El Contenedor Los Beans Practica
3
Spring – Clase 1 Porque debemos conocer Spring? Para aumentar nuestra productividad en el desarrollo de aplicaciones empresariales. Para implementar patrones de diseño automáticamente. Es un framework modular. Nos permite usar solo los módulos que necesitamos. Esta diseñado para no ser invasivo. Nos permite mantener nuestros clases de negocio sin necesidad de cambios.
4
Spring – Clase 1 Conceptos necesarios Inversión de Control (IoC): es un patrón de diseño pensado para permitir un menor acoplamiento entre componentes de una aplicación y fomentar así el reuso de los mismos.
5
Spring – Clase 1 Conceptos necesarios Inversión de control (IoC): la solución pasa por delegar la función de seleccionar una implementación concreta de las dependencias a un componente externo. El control de cómo un objeto A obtiene la referencia de un objeto B es invertido. El objeto A no es responsable de obtener una referencia al objeto B sino que es el Componente Externo el responsable de esto. Esta es la base del patrón IoC. Este patrón puede implementarse usando un Service Locator o Inyección de dependencia.
6
Spring – Clase 1 Conceptos necesarios Inversión de control (IoC)
7
Spring – Clase 1 Conceptos necesarios Inyección de dependencia: Una dependencia entre un componente y otro, puede establecerse estáticamente o en tiempo de compilación, o bien, dinámicamente o en tiempo de ejecución. Es en éste ultimo escenario es donde cabe el concepto de inyección, y para que esto fuera posible, debemos referenciar interfaces y no implementaciones directas. La esencia de la inyección de las dependencias es contar con un componente capaz de obtener instancias validas de las dependencias del objeto y pasárselas durante la creación o inicialización del objeto.
8
Spring – Clase 1 Conceptos necesarios Portlet: es un componente de software de interfaz de usuario pluggeable que es manejado y mostrado en un portal web.
9
Spring – Clase 1 Módulos
10
Spring – Clase 1 Modulo Core Container Core and Beans: provee las bases del framework, implementa el patrón de diseño IoC con la Inyección de dependencia en cualquiera de sus 2 formas. Context: se sustenta sobre Core and Beans y agrega soporte para internacionalización, propagación de eventos y carga de recursos. Expression Language: provee un lenguaje de expresión poderoso para consulta y manipulación de objetos. Es una extensión de Unified EL
11
Spring – Clase 1 Modulo Data Access/Integration JDBC: provee una capa de abstracción para realizar operaciones JDBC ORM: provee una capa de integración para frameworks de persistencia ORM, como por ejemplo: Hibernate, JPA, IBatis. OXM: provee una capa de abstracción que soporta implementaciones de mapeo Objeto XML, como por ejemplo XMLBeans. JMS: provee funcionalidades para producir y consumir mensajes Transaction: soporta el manejo de transacciones declarativas y programaticas.
12
Spring – Clase 1 Modulo Web Web: provee funcionalidades de integración orientadas a web, como por ejemplo la inicialización de IoC Containers usando Servlet listeners. Web-Servlet: provee una implementación del patrón de arquitectura MVC para aplicaciones web. Web-Struts: provee las clases de soporte para integrar struts. No aplica Struts 2.0 Web-Portlet: provee una implementación del patrón de arquitectura MVC para ser usado en un entorno de portlets.
13
Spring – Clase 1 Modulo AOP and Instrumentation Provee una implementación de la programación orientada a aspectos. Aspect: este módulo separado permite la integración con AspectJ. Instrumentation: este módulo provee implementaciones de carga de clases y soporte de instrumentación para ser usado en ciertos servidores de aplicaciones.
14
Spring – Clase 1 Modulo Test Provee soporte para el testing de componentes de Spring con JUnit y TestNG
15
Spring – Clase 1 Escenarios
16
Spring – Clase 1 Escenarios
17
Spring – Clase 1 Escenarios
18
Spring – Clase 1 Modulo Core Container Es una implementación del patrón IoC Los paquetes org.springframework.beans org.springframework.context contienen las clases que implementan el patrón IoC. Sus principales componentes son: El contenedor. Los beans. En el contexto de una aplicación que implementa Spring los objetos que constituyen la aplicación y que son manejados por el contenedor se denominan beans.
19
Spring – Clase 1 Modulo Core Container El contenedor La interface org.springframework.context.ApplicationContext representa el contenedor IoC de Spring. Es el responsable de la instanciación, configuración y ensamblaje de los beans. Obtiene la información acerca de que objetos instancias confirar y ensamblar a partir de metadatos de configuración. Estos metados pueden encontrarse en: Un archivo xml. Anotaciones java Codigo java Existen diferentes implementaciones de esta interface.
20
Spring – Clase 1 Modulo Core Container El contenedor
21
Spring – Clase 1 Modulo Core Container Metadatos de configuración en un archivo xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
22
Spring – Clase 1 Modulo Core Container Usando el contenedor // create and configure beans ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"services.xml", "daos.xml"}); // retrieve configured instance PetStoreServiceImpl service = context.getBean("petStore", PetStoreServiceImpl.class); // use configured instance List userList service.getUsernameList();
23
Spring – Clase 1 Module Core Container Los Beans El contenedor maneja uno o mas beans. Estos beans son creados con los metadatos de configuración. Podemos agrupar los metadatos de configuración de un bean en los siguientes grupos: package-qualified class name: la clase de implementación del bean definido. Elementos de configuración de comportamiento, que definen el estado con el cual debe estar asociado al contenedor(scope, lifecycle callbacks,...). Referencias a otros beans que son necesarios para que el bean realice su trabajo. Estas referencias son llamadas colaboraciones o dependencias. Otras configuraciones para el nuevo objeto creado, por ejemplo el numero de conexiones a usar por un bean usa un pool de conexiones, o el limite máximo del pool
24
Spring – Clase 1 Module Core Container Los beans Los metadatos de configuración que definen a un bean son definidos un conjunto de propiedades: class name scope constructor arguments properties autowiring mode dependency checking mode lazy-initialization mode initialization method destruction method
25
Spring – Clase 1 Module Core Container Los beans class: propiedad para definir la clase a partir de la cual se instanciara el bean. Name: propiedad para identificar al bean. Cada nombre debe ser unico dentro de su contenedor.
26
Spring – Clase 1 Module Core Container Los Beans Scope: propiedad para definir el scope del bean ScopeDescripción ================================================================================ singleton (Default) Scopes a single bean definition to a single object instance per Spring IoC container. prototype Scopes a single bean definition to any number of object instances. request Scopes a single bean definition to the lifecycle of a single HTTP request; that is, each HTTP request has its own instance of a bean created off the back of a single bean definition. Only valid in the context of a web-aware Spring ApplicationContext. session Scopes a single bean definition to the lifecycle of an HTTP Session. Only valid in the context of a web-aware Spring ApplicationContext. global session Scopes a single bean definition to the lifecycle of a global HTTP Session. Typically only valid when used in a portlet context. Only valid in the context of a web-aware Spring ApplicationContext.
27
Spring – Clase 1 Module Core Container Los Beans constructor arguments: propiedad para definir los argumentos del constructor (dependencias del bean) que se usara para inyectar la dependencia. package x.y; public class Foo { public Foo(Bar bar, Baz baz) { //... }
28
Spring – Clase 1 Module Core Container Los Beans constructor arguments:
29
Spring – Clase 1 Module Core Container Los Beans property: propiedad para definir las dependencias del bean, que se usaran para inyectar la dependencia. element -->
30
Spring – Clase 1 Module Core Container Los Beans Property: public class ExampleBean { private AnotherBean beanOne; private YetAnotherBean beanTwo; private int i; public void setBeanOne(AnotherBean beanOne) { this.beanOne = beanOne; } public void setBeanTwo(YetAnotherBean beanTwo) { this.beanTwo = beanTwo; } public void setIntegerProperty(int i) { this.i = i; }
31
Spring – Clase 1 Module Core Container Los Beans autowiring: propiedad para auto enlazar beans colaboradores dependency cheking mode: propiedad para checkear las dependencias de un bean. lazy-initialization mode: propiedad para crear el bean la primera vez que se solicita y no cuando se inicia la aplicación. initialization method: propiedad para definir el método que inicializa el bean luego de que todas las propiedades del bean fueron seteadas. destruction method: propiedad para definir el método que destruye el bean luego de que el contenedor es eliminado.
32
Spring – Clase 1 Practica
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.