spring - inyección de dependencias

Post on 04-Jul-2015

2.344 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Introducción a la inyección de dependencias con el framework spring.

TRANSCRIPT

Curso de SpringIntroducción a la Inyección de

Dependenciasjbugarin@consultorjava.com

@jlbugarin

AGENDA

• ¿Qué es y por que Inyección de Dependencias (ID).

• Inyección de Dependencias en Spring Framework.

• ID Parámetros.• Bean Naming.

Inyección de Dependencias / Dependency Injection

• El rey de la inverion de control (IoC)• Principio Hollywood– No me llames, yo te llamare

• El contenedor de inyeccion de Dependencias resuelve la dependencia de componentes mediante wiring / injecting un objeto.

• Martin Fowler es el que acuño el termino

¿Por qué Inyección de Dependencias?

• Flexible– No hay necesidad de tener un código de búsqueda en la

lógica de negocio.• Testeable– No se necesita un espacio especifico de testeo– Testeo automático como parte de las construcciones

• Mantenible– Permite la reutilización en diferentes entornos de

aplicaciones modificando los archivos de configuración en lugar del código.

– Promueve un enfoque coherente en todos aplicaciones y equipos

2 Variantes de Inyección de Dependencias

• Inyección de Dependencias por constructor– La dependencia se da a través de l constructor de

una clase

• Inyección de Dependencias por setter– Las dependencias se proporcionan a través de los

métodos de una clase al estilo JavaBean.– Es mas popular la inyección de dependencias por

constructor.

Ejemplo

Ejemplo

Clases para la Inyección de Dependencias en Spring

• BeanFactory Interface• Clases de Implementación– XMLBEANFACTORY– CLASSPATHAPPLOCATION CONTEXT

Ejemplo de Referencia

Ejemplo de Referencia

Ejemplo de Referencia

Archivo de configuración de beans Beans Configuration File

• El bean se define dentro del tag <bean> y este tag esta dento de la raiz <beans>.

• El atributo id, se usa para darle el nombre al bean.

• El atributo class, se usa para indicarle la clase que tiene un id para poderlo inyectar.

Ejemplo de Configuración

Ejemplo de Referencia – Setter ID

Ejemplo de Referencia – DI Constructor

Ejemplo Referencia - DI Constructor

BEANS

• El termino bean es usado para referirnos a cualquier componente administrado por el BeanFactory.

• Beans es lo mismo que un Java Bean.• Propiedades / atributos de los beans son

simples o valrores que hacen referencia a otros beans.

• Los Beans pueden tener multiples nombres

DI PARAMETERS TYPES

• Spring soporta los siguientes parametros de inyeccion:– Valores Simples– Beans– Collecciones / Listas

• Estos parametros se usan para inyeccion de setter o de constructor.

Inyección de Valores Simples

Inyección de Beans

• Se usa cuando necesitas inyectar un bean en otro.• Ambos beans deben de estar declarados para que puedan

funcionar.• Declarar la inyección con usando el tag ref.• El tipo que se inyecta no tiene que ser e tipo exacto definido

en la referencia.– Si el tipo definido en el objetivo es una interfaz, el tipo

inyectado debe ser una implementación de ella.– Si el tipo definido en el objetivo es una clase, el tipo

inyectado puede ser del mismo tipo o subtipo.

Ejemplo Inyección de Beans

Ejemplo de inyección de beans

Ejemplo de Bean Naming

GRACIAS!Ing. Jose Luis Bugarin – jbugarin@consultorjava.com - @jlbugarin

top related