Primavera - Definición de frijol

Los objetos que forman la columna vertebral de su aplicación y que son administrados por el contenedor Spring IoC se denominan beans. Un bean es un objeto que es instanciado, ensamblado y administrado por un contenedor Spring IoC. Estos beans se crean con los metadatos de configuración que proporciona al contenedor. Por ejemplo, en forma de definiciones XML <bean /> que ya ha visto en los capítulos anteriores.

La definición de frijol contiene la información llamada configuration metadata, que es necesario para que el contenedor sepa lo siguiente:

  • Cómo crear un frijol
  • Detalles del ciclo de vida de Bean
  • Dependencias de Bean

Todos los metadatos de configuración anteriores se traducen en un conjunto de las siguientes propiedades que componen cada definición de bean.

No Señor. Propiedades y descripción
1

class

Este atributo es obligatorio y especifica la clase de bean que se utilizará para crear el bean.

2

name

Este atributo especifica el identificador del bean de forma única. En los metadatos de configuración basados ​​en XML, se utilizan los atributos id y / o name para especificar los identificadores del bean.

3

scope

Este atributo especifica el alcance de los objetos creados a partir de una definición de bean en particular y se discutirá en el capítulo de alcances de bean.

4

constructor-arg

Esto se usa para inyectar las dependencias y se discutirá en capítulos posteriores.

5

properties

Esto se usa para inyectar las dependencias y se discutirá en capítulos posteriores.

6

autowiring mode

Esto se usa para inyectar las dependencias y se discutirá en capítulos posteriores.

7

lazy-initialization mode

Un bean de inicialización diferida le dice al contenedor de IoC que cree una instancia de bean cuando se solicita por primera vez, en lugar de al inicio.

8

initialization method

Una devolución de llamada que se llamará justo después de que el contenedor haya establecido todas las propiedades necesarias en el bean. Se discutirá en el capítulo del ciclo de vida del frijol.

9

destruction method

Una devolución de llamada que se utilizará cuando se destruya el contenedor que contiene el bean. Se discutirá en el capítulo del ciclo de vida del frijol.

Metadatos de configuración de Spring

El contenedor Spring IoC está totalmente desacoplado del formato en el que se escriben realmente estos metadatos de configuración. A continuación se muestran los tres métodos importantes para proporcionar metadatos de configuración al Spring Container:

  • Archivo de configuración basado en XML.
  • Configuración basada en anotaciones
  • Configuración basada en Java

Ya ha visto cómo se proporcionan los metadatos de configuración basados ​​en XML al contenedor, pero veamos otra muestra de archivo de configuración basado en XML con diferentes definiciones de bean, incluida la inicialización diferida, el método de inicialización y el método de destrucción:

<?xml version = "1.0" encoding = "UTF-8"?>

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <!-- A simple bean definition -->
   <bean id = "..." class = "...">
      <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- A bean definition with lazy init set on -->
   <bean id = "..." class = "..." lazy-init = "true">
      <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- A bean definition with initialization method -->
   <bean id = "..." class = "..." init-method = "...">
      <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- A bean definition with destruction method -->
   <bean id = "..." class = "..." destroy-method = "...">
      <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- more bean definitions go here -->
   
</beans>

Puede consultar el Ejemplo de Spring Hello World para comprender cómo definir, configurar y crear Spring Beans.

Discutiremos sobre la configuración basada en anotaciones en un capítulo aparte. Se trata intencionalmente en un capítulo separado, ya que queremos que comprenda algunos otros conceptos importantes de Spring, antes de comenzar a programar con Spring Dependency Injection con Anotaciones.