Printemps - Définition du haricot

Les objets qui forment l'épine dorsale de votre application et qui sont gérés par le conteneur Spring IoC sont appelés beans. Un bean est un objet qui est instancié, assemblé et autrement géré par un conteneur Spring IoC. Ces beans sont créés avec les métadonnées de configuration que vous fournissez au conteneur. Par exemple, sous la forme de définitions XML <bean /> que vous avez déjà vues dans les chapitres précédents.

La définition du bean contient les informations appelées configuration metadata, qui est nécessaire pour que le conteneur sache ce qui suit -

  • Comment créer un haricot
  • Détails du cycle de vie de Bean
  • Les dépendances de Bean

Toutes les métadonnées de configuration ci-dessus se traduisent par un ensemble des propriétés suivantes qui composent chaque définition de bean.

N ° Sr. Propriétés et description
1

class

Cet attribut est obligatoire et spécifie la classe de bean à utiliser pour créer le bean.

2

name

Cet attribut spécifie l'identifiant du bean de manière unique. Dans les métadonnées de configuration basées sur XML, vous utilisez les attributs id et / ou name pour spécifier le ou les identificateurs de bean.

3

scope

Cet attribut spécifie la portée des objets créés à partir d'une définition de bean particulière et sera abordé dans le chapitre sur les portées de bean.

4

constructor-arg

Ceci est utilisé pour injecter les dépendances et sera discuté dans les chapitres suivants.

5

properties

Ceci est utilisé pour injecter les dépendances et sera discuté dans les chapitres suivants.

6

autowiring mode

Ceci est utilisé pour injecter les dépendances et sera discuté dans les chapitres suivants.

sept

lazy-initialization mode

Un bean à initialisation différée indique au conteneur IoC de créer une instance de bean lors de sa première demande, plutôt qu'au démarrage.

8

initialization method

Un callback à appeler juste après que toutes les propriétés nécessaires sur le bean ont été définies par le conteneur. Il sera discuté dans le chapitre sur le cycle de vie du haricot.

9

destruction method

Un rappel à utiliser lorsque le conteneur contenant le bean est détruit. Il sera discuté dans le chapitre sur le cycle de vie du haricot.

Métadonnées de configuration Spring

Le conteneur Spring IoC est totalement découplé du format dans lequel ces métadonnées de configuration sont réellement écrites. Voici les trois méthodes importantes pour fournir des métadonnées de configuration au conteneur Spring -

  • Fichier de configuration basé sur XML.
  • Configuration basée sur les annotations
  • Configuration basée sur Java

Vous avez déjà vu comment les métadonnées de configuration basées sur XML sont fournies au conteneur, mais voyons un autre exemple de fichier de configuration basé sur XML avec différentes définitions de bean, y compris l'initialisation paresseuse, la méthode d'initialisation et la méthode de destruction -

<?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>

Vous pouvez consulter l'exemple Spring Hello World pour comprendre comment définir, configurer et créer des Spring Beans.

Nous discuterons de la configuration basée sur les annotations dans un chapitre séparé. Il est intentionnellement abordé dans un chapitre séparé car nous souhaitons que vous compreniez quelques autres concepts importants de Spring, avant de commencer à programmer avec Spring Dependency Injection with Annotations.