Groovy Bean Definitionen

Groovy Bean Definitionen

1. Überblick

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 unsererpom.xml-Datei hinzufügen. Wir müssen auch ein Plugin hinzufügen, um unsere Groovy-Dateien kompilieren zu können.

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


    org.codehaus.groovy
    groovy-all
    2.4.12

Fügen wir nun das Plugin hinzu:


    maven-compiler-plugin
    3.7.0
    
        groovy-eclipse-compiler
        true
        1.8
        1.8
        ${project.build.sourceEncoding}
    
    
        
            org.codehaus.groovy
            groovy-eclipse-compiler
            2.9.2-01
        
    

Hier verwenden wir den Maven-Compiler, um das Projekt mithilfe des Groovy-Eclipse-Compilers zu kompilieren. Dies kann je nach verwendeter IDE variieren.

Die neuesten Versionen dieser Bibliotheken finden Sie aufMaven Central.

3. Bohnen definieren

Seit Version 4 bietet Spring Unterstützung für Groovy-basierte Konfigurationen. Dies bedeutet, dassGroovy classes can be legitimate Spring beans.

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 dasselbe Bean mit 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 zum Konfigurieren der zuvor erstellten Bean verwenden:

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

Beachten Sie, dass Sie vor dem Definieren der Beans-KonfigurationJavaPersonBean class. undinside the beans block, we can define as many beans as we need. importieren sollten

Wir haben unsere Felder als privat und obwohlGroovy makes it look like it’s accessing them directly, it’s doing it using provided getters/setters. definiert

4. Zusätzliche Bean-Einstellungen

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

Wenn wir für unsere Bohne einalias festlegen müssen, können wir dies einfach tun:

registerAlias("bandsBean","bands")

Wenn wir diescope: der Bean definieren möchten

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

Um Lifecycle-Callbacks für unsere Bean hinzuzufügen, können wir Folgendes tun:

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

Wir können auch die Vererbung 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 mitimportBeans(): tun

importBeans("somexmlconfig.xml")

5. Fazit

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

Obwohl die Beispiele einfach sind, können sie erweitert und zum Erstellen beliebiger Spring-Konfigurationen verwendet werden.

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