La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Softlogia S.R.L. Formación de Recursos Humanos Spring Instructor: Martin R. Baspineiro.

Presentaciones similares


Presentación del tema: "Softlogia S.R.L. Formación de Recursos Humanos Spring Instructor: Martin R. Baspineiro."— Transcripción de la presentación:

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


Descargar ppt "Softlogia S.R.L. Formación de Recursos Humanos Spring Instructor: Martin R. Baspineiro."

Presentaciones similares


Anuncios Google