Beans Configuración

En esta entrada vamos a revisar algunos detalles de configuración de los beans.

Identificadores de Beans

Puede definir los atributos id o name para establecer un identificador del bean. Los valores de name son tomados como alias del bean, puede definir varios valores separados por coma.

 <bean id="miBean" name="nombreUno,nombreDos,.." class="..."/>		 

Si no especifica ningún identificador para el bean, Spring generará un nombre para ese bean, pero no podrá hacer referencia a él, a menos que explícitamente defina un identificador.

Nombrando Beans

Para definir el nombre de los beans, Spring recomienda utilizar la convención estándar de Java para nombres, donde el nombre del bean comienza con la primera letra en minúscula.

 <bean id="bean" class="..."/>
 <bean id="personaService" class="..."/>

Beans internos

Podemos definir beans dentro de los elementos <property> o <constructor-agr>. Los beans internos no requieren los atributos id y scope, en caso de ser establecidos serán ignorados por el Contenedor.

<bean id="beanParent" class="..."> 		
    <constructor-arg name="direccion"> 
           <!--Bean interno-->
            <bean class="com.datos.x.."> 
                   <property name="numeroCasa"  value="34" /> 
             </bean>
     </constructor-arg> 
     
     <property name="rol"> 
           <!--Bean interno-->
            <bean class="com.datos.x.."> 
                   <property name="nombre"  value="Contador" /> 
             </bean>
     </property> 
</bean>

Lazy-initialized Beans(Inicialización diferida)

El contendor Spring de forma predeterminada instancia todos los beans definidos por los metadatos de configuración (inicialización agresiva). Si no desea este comportamiento, puede utilizar el atributo lazy-init=true del elemento <bean/> para indicarle al contenedor Spring que instancie el bean cuando sea solicitado por primera vez(inicialización diferida).

 <bean id="ejemplo"  class="..."  lazy-init="true" />		 

Si un bean con inicialización diferida es una dependencia de un bean que no tiene inicialización diferida, este será creado al inicio para satisfacer la dependencia.

¡Hasta pronto 👋👍!

Comentarios

Entradas populares de este blog

JWT (Json Web Token)

Instalar Java Developmet Kit(JDK)

Curso de Spring