curso de spring: beans

22
Beans Relator: Alejandro González ([email protected])

Upload: jano-gonzalez

Post on 23-Jun-2015

3.055 views

Category:

Technology


2 download

DESCRIPTION

Slides de la primera clase del curso de Spring que estoy dictando

TRANSCRIPT

Page 1: Curso de Spring: Beans

Beans

Relator: Alejandro González ([email protected])

Page 2: Curso de Spring: Beans

Bean

Page 3: Curso de Spring: Beans

Temario General

➔ Beans➔ BeanFactory➔ ApplicationContext➔ Configurando Beans con XML

Page 4: Curso de Spring: Beans

Bean

➔ Es un POJO➔ Es un componente de la aplicación, al que se le

pueden inyectar valores y otros componentes

ComponentePOJO

OtroComponente

POJO

Dependencia

Page 5: Curso de Spring: Beans

Bean

➔ Los beans y sus dependencias deben ser declarados para que Spring los reconozca

➔ Al iniciar su contenedor, Spring crea los beans e inyecta sus dependencias

Bean BeanDependencia

Page 6: Curso de Spring: Beans

BeanFactory

Page 7: Curso de Spring: Beans

BeanFactory

➔ Contenedor de los beans de la aplicación➔ Cada bean tiene un identificador para poder

obtenerlo desde la BeanFactory

Bean BeanDependencia

BeanFactory

Page 8: Curso de Spring: Beans

ApplicationContext

➔ Agrega funcionalidad a la BeanFactory como facilidad de integración con AOP y manejo de archivos de recursos

Bean BeanDependencia

ApplicationContext

Page 9: Curso de Spring: Beans

Interesante...¿Pero cómo lo hago en mi

aplicación?

Page 10: Curso de Spring: Beans

Configurando Beans con XML

➔ La declaración más básica es un identificador y la clase del objeto

●<bean id=”idDelBean” class=”LaClase”/>●

<bean id=”otroBean” class=”OtraClase”/>

Page 11: Curso de Spring: Beans

Configurando Beans con XML

➔ Se pueden inyectar valores de distintos tipos

●<bean id=”idDelBean” class=”LaClase”>● <property name=”nombre” value=”valor” />● <property name=”unEntero” value=”5” />● <property name=”lista”>

● <list>● <value>valor 1</value>

● </list>● </property>

●</bean>

Page 12: Curso de Spring: Beans

Configurando Beans con XML

➔ Se pueden inyectar otros beans

●<bean id=”bean1” class=”LaClase”>● <property name=”dependencia” ref=”bean2” />

●</bean>●

<bean id=”otroBean” class=”OtraClase”/>

Page 13: Curso de Spring: Beans

Configurando Beans con XML

➔ Se pueden inyectar valores de distintos tipos

●<bean id=”idDelBean” class=”LaClase”>● <property name=”mapa”>

● <map>● <entry key=”llave1” value=”valor1” />● <entry key=”llave2” value=”valor2” />

● </map>● </property>

●</bean>

Page 14: Curso de Spring: Beans

Configurando Beans con XML

➔ Inyección en el constructor

●<bean id=”idDelBean” class=”LaClase”>● <constructor-arg type=”java.lang.String” value=”valor” />

● <constructor-arg type=”int” value=”5” />●</bean>

Page 15: Curso de Spring: Beans

Manejando situaciones un poco más complicadas

Page 16: Curso de Spring: Beans

Configurando Beans con XML

➔ Se puede manejar el ciclo de vida del objeto

●<bean id=”idDelBean” class=”LaClase” init-method=”metodoDeInicializacion” destroy-method=”llamarAlFinal” />

Page 17: Curso de Spring: Beans

Configurando Beans con XML

➔ Inicialización de tipo lazy

●<bean id=”idDelBean” class=”LaClase” lazy-init=”true” />

Page 18: Curso de Spring: Beans

Configurando Beans con XML

➔ Obteniendo un bean desde una fábrica estática

●public static Procesador crearProcesador(String id) {● if (“tef”.equals(id) {

● return new ProcesadorTef();● }● …

●}

Page 19: Curso de Spring: Beans

Configurando Beans con XML

➔ Obteniendo un bean desde una fábrica estática

●<bean id=”miBean” class=”FabricaProcesadores” factory-method=”crearProcesador”>

● <constructor-args value=”tef” />●</bean>

Page 20: Curso de Spring: Beans

Configurando Beans con XML

➔ Obteniendo un bean desde un método de instancia tipo fábrica

public class FabricaProcesador {private Map<String, Procesador> procesadores;...public Procesador crearProcesador(String id) {

return rocesadores.get(id);}...

}

Page 21: Curso de Spring: Beans

Configurando Beans con XML

Obteniendo un bean desde un método de instancia tipo fábrica

● ●<bean id=”fabrica” class=”FabricaProcesador”>●…●</bean>●

●<bean id=”miBean” factory-bean=”fabrica” factory-method=”crearProcesador”>

● <constructor-args value=”tef” />●</bean>

Page 22: Curso de Spring: Beans

Imágenes deWikimedia Commons