2. AGENDA
• ¿Qué es y por que Inyección de Dependencias
(ID).
• Inyección de Dependencias en Spring
Framework.
• ID Parámetros.
• Bean Naming.
3. 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
4. ¿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
5. 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.
8. Clases para la Inyección de
Dependencias en Spring
• BeanFactory Interface
• Clases de Implementación
– XMLBEANFACTORY
– CLASSPATHAPPLOCATION CONTEXT
12. 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.
17. 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
18. 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.
20. 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.