SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Beans

Relator: Alejandro González (info@janogonzalez.com)
Bean
Temario General

➔   Beans
➔   BeanFactory
➔   ApplicationContext
➔   Configurando Beans con XML
Bean

➔   Es un POJO
➔   Es un componente de la aplicación, al que se le
    pueden inyectar valores y otros componentes



                     Dependencia        Otro
     Componente
                                     Componente
        POJO
                                        POJO
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


                     Dependencia
        Bean                            Bean
BeanFactory
BeanFactory

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

                     BeanFactory


                    Dependencia
        Bean                           Bean
ApplicationContext

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

                  ApplicationContext


                    Dependencia
        Bean                           Bean
Interesante...
¿Pero cómo lo hago en mi
      aplicación?
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”/>
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>
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”/>
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>
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>
Manejando situaciones un
poco más complicadas
Configurando Beans con XML

➔   Se puede manejar el ciclo de vida del objeto

    ●

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

➔   Inicialización de tipo lazy

    ●

    ●<bean id=”idDelBean” class=”LaClase” lazy-
    init=”true” />
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();

      ● }

      ● …

    ●}
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>
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);
       }
       ...
    }
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>
Imágenes de
Wikimedia Commons

Más contenido relacionado

Similar a Curso de Spring: Beans

Introducccion springframework
Introducccion springframeworkIntroducccion springframework
Introducccion springframework
Vortexbird
 
Webutil de oracle
Webutil de oracleWebutil de oracle
Webutil de oracle
guestc91f49
 
13. Configuracion De Aplicaciones Web Asp.Net
13.  Configuracion De Aplicaciones Web Asp.Net13.  Configuracion De Aplicaciones Web Asp.Net
13. Configuracion De Aplicaciones Web Asp.Net
guest3cf6ff
 

Similar a Curso de Spring: Beans (18)

Java beans en jsp
Java beans en jspJava beans en jsp
Java beans en jsp
 
Spring BlazeDS Integration - Rumbo a Spring I/O
Spring BlazeDS Integration - Rumbo a Spring I/OSpring BlazeDS Integration - Rumbo a Spring I/O
Spring BlazeDS Integration - Rumbo a Spring I/O
 
Introducccion springframework
Introducccion springframeworkIntroducccion springframework
Introducccion springframework
 
Primefaces
PrimefacesPrimefaces
Primefaces
 
Componentes en angularjs 1.5
Componentes en angularjs 1.5Componentes en angularjs 1.5
Componentes en angularjs 1.5
 
Taller de Backbone.js en Betabeers Malaga 06/09/2012
Taller de Backbone.js en Betabeers Malaga 06/09/2012Taller de Backbone.js en Betabeers Malaga 06/09/2012
Taller de Backbone.js en Betabeers Malaga 06/09/2012
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
Webutil de oracle
Webutil de oracleWebutil de oracle
Webutil de oracle
 
Webutil
WebutilWebutil
Webutil
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
Oracle Forms
Oracle FormsOracle Forms
Oracle Forms
 
Curso Java Avanzado 3 4 Js Ps Con Java Beans
Curso Java Avanzado   3 4 Js Ps Con Java BeansCurso Java Avanzado   3 4 Js Ps Con Java Beans
Curso Java Avanzado 3 4 Js Ps Con Java Beans
 
SpringBlazeDS
SpringBlazeDSSpringBlazeDS
SpringBlazeDS
 
Zend Framework 2 y MongoDB
Zend Framework 2 y  MongoDBZend Framework 2 y  MongoDB
Zend Framework 2 y MongoDB
 
jsf
jsfjsf
jsf
 
13. Configuracion De Aplicaciones Web Asp.Net
13.  Configuracion De Aplicaciones Web Asp.Net13.  Configuracion De Aplicaciones Web Asp.Net
13. Configuracion De Aplicaciones Web Asp.Net
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 

Más de Jano González

Más de Jano González (14)

Spring jdbc
Spring jdbcSpring jdbc
Spring jdbc
 
Vim FTW!
Vim FTW!Vim FTW!
Vim FTW!
 
Ruby
RubyRuby
Ruby
 
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
 
JRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterpriseJRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterprise
 
Programación Políglota en la JVM
Programación Políglota en la JVMProgramación Políglota en la JVM
Programación Políglota en la JVM
 
A Little RSpec
A Little RSpecA Little RSpec
A Little RSpec
 
JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?
 
Un emulador de Game Boy escrito en Ruby (parte 1)
Un emulador de Game Boy escrito en Ruby (parte 1)Un emulador de Game Boy escrito en Ruby (parte 1)
Un emulador de Game Boy escrito en Ruby (parte 1)
 
Taller de Unit Testing y TDD en Java: Parte 1
Taller de Unit Testing y TDD en Java: Parte 1Taller de Unit Testing y TDD en Java: Parte 1
Taller de Unit Testing y TDD en Java: Parte 1
 
Análisis y Diseño OO 2
Análisis y Diseño OO 2Análisis y Diseño OO 2
Análisis y Diseño OO 2
 
Análisis y Diseño OO 1
Análisis y Diseño OO 1Análisis y Diseño OO 1
Análisis y Diseño OO 1
 
Programación Java
Programación JavaProgramación Java
Programación Java
 
Un newbie conoce a Sinatra
Un newbie conoce a SinatraUn newbie conoce a Sinatra
Un newbie conoce a Sinatra
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 

Último (10)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Curso de Spring: Beans

  • 1. Beans Relator: Alejandro González (info@janogonzalez.com)
  • 3. Temario General ➔ Beans ➔ BeanFactory ➔ ApplicationContext ➔ Configurando Beans con XML
  • 4. Bean ➔ Es un POJO ➔ Es un componente de la aplicación, al que se le pueden inyectar valores y otros componentes Dependencia Otro Componente Componente POJO POJO
  • 5. 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 Dependencia Bean Bean
  • 7. BeanFactory ➔ Contenedor de los beans de la aplicación ➔ Cada bean tiene un identificador para poder obtenerlo desde la BeanFactory BeanFactory Dependencia Bean Bean
  • 8. ApplicationContext ➔ Agrega funcionalidad a la BeanFactory como facilidad de integración con AOP y manejo de archivos de recursos ApplicationContext Dependencia Bean Bean
  • 9. Interesante... ¿Pero cómo lo hago en mi aplicación?
  • 10. 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”/>
  • 11. 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>
  • 12. 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”/>
  • 13. 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>
  • 14. 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>
  • 15. Manejando situaciones un poco más complicadas
  • 16. Configurando Beans con XML ➔ Se puede manejar el ciclo de vida del objeto ● ●<bean id=”idDelBean” class=”LaClase” init- method=”metodoDeInicializacion” destroy- method=”llamarAlFinal” />
  • 17. Configurando Beans con XML ➔ Inicialización de tipo lazy ● ●<bean id=”idDelBean” class=”LaClase” lazy- init=”true” />
  • 18. 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(); ● } ● … ●}
  • 19. 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>
  • 20. 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); } ... }
  • 21. 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>