Groovy Bean Definitionen

1. Übersicht

In diesem kurzen Artikel konzentrieren wir uns darauf, wie wir eine Groovy-basierte Konfiguration in unseren Java Spring-Projekten verwenden können.

2. Abhängigkeiten

Bevor wir beginnen, müssen wir die Abhängigkeit zu unserer Datei pom.xml hinzufügen . Wir müssen auch ein Plugin hinzufügen, um unsere Groovy-Dateien zu kompilieren.

Fügen wir zuerst die Abhängigkeit für Groovy zu unserer Datei pom.xml hinzu :

 org.codehaus.groovy groovy 2.5.10 

Fügen wir nun das Plugin hinzu:

  //...  org.codehaus.gmavenplus gmavenplus-plugin 1.9.0    addSources addTestSources generateStubs compile generateTestStubs compileTests removeStubs removeTestStubs      

Hier verwenden wir das gmavenplus-Plugin mit allen Zielen.

Die neuesten Versionen dieser Bibliotheken finden Sie in Maven Central.

3. Bohnen definieren

Seit Version 4 bietet Spring Unterstützung für Groovy-basierte Konfigurationen. Dies bedeutet, dass Groovy-Klassen legitime Spring Beans sein können.

Um dies zu veranschaulichen, definieren wir eine Bean mit der Standard-Java-Konfiguration und konfigurieren dann dieselbe Bean mit Groovy. Auf diese Weise können wir den Unterschied erkennen.

Erstellen wir eine einfache Klasse mit einigen Eigenschaften:

public class JavaPersonBean { private String firstName; private String lastName; // standard getters and setters } 

Es ist wichtig, sich an Getter / Setter zu erinnern - sie sind entscheidend für das Funktionieren des Mechanismus.

3.1. Java-Konfiguration

Wir können dieselbe Bean mithilfe einer Java-basierten Konfiguration konfigurieren:

@Configuration public class JavaBeanConfig { @Bean public JavaPersonBean javaPerson() { JavaPersonBean jPerson = new JavaPersonBean(); jPerson.setFirstName("John"); jPerson.setLastName("Doe"); return jPerson; } }

3.2. Groovige Konfiguration

Jetzt können wir den Unterschied erkennen, wenn wir Groovy verwenden, um die zuvor erstellte Bean zu konfigurieren:

beans { javaPersonBean(JavaPersonBean) { firstName = 'John' lastName = 'Doe' } }

Beachten Sie, dass wir vor dem Definieren der Beans-Konfiguration die JavaPersonBean-Klasse importieren sollten. Auch im Inneren des Bohnen - Block , können wir so viele Bohnen definieren , wie wir brauchen.

Wir haben unsere Felder als privat definiert, und obwohl Groovy den Eindruck erweckt, dass es direkt auf sie zugreift, erfolgt dies mithilfe der bereitgestellten Getter / Setter.

4. Zusätzliche Bean-Einstellungen

Wie bei der XML- und Java-basierten Konfiguration können wir nicht nur Beans konfigurieren.

Wenn wir einen Alias für unsere Bean festlegen müssen , können wir dies einfach tun:

registerAlias("bandsBean","bands")

Wenn wir den Umfang der Bean definieren möchten :

{ bean -> bean.scope = "prototype" }

Um Lebenszyklus-Rückrufe für unsere Bean hinzuzufügen, können wir Folgendes tun:

{ bean -> bean.initMethod = "someInitMethod" bean.destroyMethod = "someDestroyMethod" }

Wir können die Vererbung auch in der Bean-Definition angeben:

{ bean-> bean.parent="someBean" }

Wenn wir einige zuvor definierte Beans aus einer XML-Konfiguration importieren müssen, können wir dies mit importBeans () tun :

importBeans("somexmlconfig.xml")

5. Schlussfolgerung

In diesem Tutorial haben wir gesehen, wie wir Spring Groovy Bean-Konfigurationen erstellen. Wir haben auch das Festlegen zusätzlicher Eigenschaften für unsere Beans behandelt, z. B. deren Aliase, Bereiche, übergeordnete Elemente, Methoden zur Initialisierung oder Zerstörung sowie das Importieren anderer XML-definierter Beans.

Obwohl die Beispiele einfach sind, können sie erweitert und zum Erstellen einer beliebigen Art von Spring-Konfiguration verwendet werden.

Einen vollständigen Beispielcode, der in diesem Artikel verwendet wird, finden Sie in unserem GitHub-Projekt. Dies ist ein Maven-Projekt, daher sollten Sie es importieren und so ausführen können, wie es ist.