Spring - Bean Definition

Die Objekte, die das Rückgrat Ihrer Anwendung bilden und vom Spring IoC-Container verwaltet werden, werden aufgerufen beans. Eine Bean ist ein Objekt, das von einem Spring IoC-Container instanziiert, zusammengestellt und anderweitig verwaltet wird. Diese Beans werden mit den Konfigurationsmetadaten erstellt, die Sie dem Container bereitstellen. Zum Beispiel in Form von XML <bean /> -Definitionen, die Sie bereits in den vorherigen Kapiteln gesehen haben.

Die Bean-Definition enthält die aufgerufenen Informationen configuration metadata, die benötigt wird, damit der Container Folgendes weiß:

  • So erstellen Sie eine Bohne
  • Details zum Lebenszyklus von Bean
  • Beans Abhängigkeiten

Alle oben genannten Konfigurationsmetadaten werden in eine Reihe der folgenden Eigenschaften übersetzt, aus denen jede Bean-Definition besteht.

Sr.Nr. Eigenschaften & Beschreibung
1

class

Dieses Attribut ist obligatorisch und gibt die Bean-Klasse an, die zum Erstellen der Bean verwendet werden soll.

2

name

Dieses Attribut gibt die Bean-ID eindeutig an. In XML-basierten Konfigurationsmetadaten verwenden Sie die Attribute id und / oder name, um die Bean-IDs anzugeben.

3

scope

Dieses Attribut gibt den Bereich der Objekte an, die aus einer bestimmten Bean-Definition erstellt wurden, und wird im Kapitel Bean-Bereiche erläutert.

4

constructor-arg

Dies wird zum Einfügen der Abhängigkeiten verwendet und wird in den folgenden Kapiteln erläutert.

5

properties

Dies wird zum Einfügen der Abhängigkeiten verwendet und wird in den folgenden Kapiteln erläutert.

6

autowiring mode

Dies wird zum Einfügen der Abhängigkeiten verwendet und wird in den folgenden Kapiteln erläutert.

7

lazy-initialization mode

Eine verzögert initialisierte Bean weist den IoC-Container an, eine Bean-Instanz zu erstellen, wenn sie zum ersten Mal angefordert wird, und nicht beim Start.

8

initialization method

Ein Rückruf, der aufgerufen werden soll, sobald alle erforderlichen Eigenschaften für die Bean vom Container festgelegt wurden. Dies wird im Kapitel über den Lebenszyklus von Bohnen erläutert.

9

destruction method

Ein Rückruf, der verwendet wird, wenn der Container mit der Bean zerstört wird. Dies wird im Kapitel über den Lebenszyklus von Bohnen erläutert.

Spring-Konfigurationsmetadaten

Der Spring IoC-Container ist vollständig von dem Format entkoppelt, in dem diese Konfigurationsmetadaten tatsächlich geschrieben wurden. Im Folgenden sind die drei wichtigen Methoden zum Bereitstellen von Konfigurationsmetadaten für den Spring Container aufgeführt:

  • XML-basierte Konfigurationsdatei.
  • Anmerkungsbasierte Konfiguration
  • Java-basierte Konfiguration

Sie haben bereits gesehen, wie XML-basierte Konfigurationsmetadaten für den Container bereitgestellt werden. Lassen Sie uns jedoch ein weiteres Beispiel einer XML-basierten Konfigurationsdatei mit verschiedenen Bean-Definitionen sehen, einschließlich verzögerter Initialisierung, Initialisierungsmethode und Zerstörungsmethode.

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

Sie können Spring Hello World Example überprüfen, um zu verstehen, wie Spring Beans definiert, konfiguriert und erstellt werden.

Wir werden die annotationsbasierte Konfiguration in einem separaten Kapitel behandeln. Es wird absichtlich in einem separaten Kapitel behandelt, da wir möchten, dass Sie einige andere wichtige Spring-Konzepte verstehen, bevor Sie mit der Programmierung mit Spring Dependency Injection with Annotations beginnen.