100 likes | 251 Views
Spring Framework. Contenedor ligero de aplicaciones. Introduccion. ¿Qué es un framework Java?. Es un conjunto de clases e interfaces. El objetivo de los frameworks es facilitar el desarrollo de software. ¿Cómo?
E N D
Spring Framework.Contenedor ligero de aplicaciones Introduccion
¿Qué es un framework Java? • Es un conjunto de clases e interfaces. • El objetivo de los frameworks es facilitar el desarrollo de software. ¿Cómo? • Existen multiples naturalezas en los tipos de software, Persistencia de datos, App Web, App Escritorio, Seguridad, Compiladores, Traceo, … • En cada “tipo” de software se repite mucha funcionalidad. El framework va a componer una solución abstracta a un problema especifico. • Nos permite dedicar el esfuerzo de desarrollo a las peculiaridades del software, y no a las tareas repetitivas de cada naturaleza.
Definiciones de Framework • Conjunto de clases que encierra un diseño abstracto para soluciones a una familia de problemas relacionados, soportando la reutilización con una granularidad mayor que las clases. • Conjunto de clases que cooperan y forman un diseño reutilizable para un tipo específico de software. Un framework ofrece una guía arquitectónica partiendo el diseño en clases abstractas y definiendo sus responsabilidades y sus colaboraciones. Un desarrollador personaliza el marco de trabajo para una aplicación particular mediante herencia y composición de instancias de las clases del framework.
¿Cómo utilizamos un framework? • Herencia de una clase abstracta. • Uso de configuración. • Uso de interfaces a partir de Factorías. • Uso de metainformación (annotations). • Conveccion por configuración.
Introduccion • Es un lightweigth container (JAVA) • Pretenden facilitar la cohesión de distintos componentes para formar nuestra aplicación, partiendo del patrón “Inversión del control” IOC. • Programación basada en POJO. • Manejo del ciclo de vida de los objetos. • IOC, inyección de dependencias • Consistent configuration
Facilitando • Spring pretende facilitar la construcción de aplicaciones, los “facilitadores”
AOP • Programación Orientada a Aspectos • Su objetivo principal es la separación de funcionalidad común en la aplicación. • Se basa en el uso de “proxys” que envolverán objetos, controlando todas las llamadas a los métodos. • Ejemplo, control de transacciones en la capa DAO.
Ejemplo de IOC Interface Hablador { public void habla(String palabras);} class MadrilenioHablador implements Hablador { public void Habla(String palabras) { System.out.println(palabras + “egque"); }} class AndaluzHablador implements Hablador { public void Habla(String palabras) { System.out.println(palabras + “ozu"); }} class Consumidor{ Hablador hablador = null; public void setHablador(Hablador habl){this.hablador = habl;} public void diAlgo(){hablador.habla(“ mas palabras ”); }
Ejemplo de IOC <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id=“hablador" class=“AndaluzHablador“/> <bean id=“consumidor" class=“Consumidor"> <property name="hablador“ ref=“hablador”/> </bean> </beans> ApplicationContext ac = new FileSystemXmlApplicationContext("context.xml"); Consumer c=(HelloWorld)ac.getBean("consumer"); c.saySomething();