Groovy Beanの定義

Groovy Beanの定義

1. 概要

この簡単な記事では、JavaSpringプロジェクトでGroovyベースの構成を使用する方法に焦点を当てます。

2. 依存関係

開始する前に、pom.xmlファイルに依存関係を追加する必要があります。 また、Groovyファイルをコンパイルするためにプラグインを追加する必要があります。

まず、Groovyの依存関係をpom.xmlファイルに追加しましょう。


    org.codehaus.groovy
    groovy-all
    2.4.12

それでは、プラグインを追加しましょう。


    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
        
    

ここでは、Mavenコンパイラーを使用して、Groovy-Eclipseコンパイラーを使用してプロジェクトをコンパイルします。 これは、使用するIDEによって異なる場合があります。

これらのライブラリの最新バージョンは、Maven Centralにあります。

3. Beanの定義

バージョン4以降、SpringはGroovyベースの構成をサポートしています。 これは、Groovy classes can be legitimate Spring beans.

これを説明するために、標準のJava構成を使用してBeanを定義してから、Groovyを使用して同じBeanを構成します。 このようにして、違いを確認できます。

いくつかのプロパティを持つ単純なクラスを作成しましょう。

public class JavaPersonBean {
    private String firstName;
    private String lastName;

    // standard getters and setters
}

ゲッター/セッターについて覚えておくことが重要です。これらはメカニズムが機能するために重要です。

3.1. Java設定

Javaベースの構成を使用して同じBeanを構成できます。

@Configuration
public class JavaBeanConfig {

    @Bean
    public JavaPersonBean javaPerson() {
        JavaPersonBean jPerson = new JavaPersonBean();
        jPerson.setFirstName("John");
        jPerson.setLastName("Doe");

        return jPerson;
    }
}

3.2. Groovyの構成

これで、Groovyを使用して以前に作成したBeanを構成した場合の違いがわかります。

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

Bean構成を定義する前に、JavaPersonBean class.をインポートする必要があることに注意してください。また、inside the beans block, we can define as many beans as we need.

フィールドをプライベートとして定義しましたが、Groovy makes it look like it’s accessing them directly, it’s doing it using provided getters/setters.

4. 追加のBean設定

XMLおよびJavaベースの構成と同様に、Beanだけでなく構成も可能です。

Beanにaliasを設定する必要がある場合は、簡単に行うことができます。

registerAlias("bandsBean","bands")

Beanのscope:を定義する場合

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

Beanにライフサイクルコールバックを追加するには、次のようにします。

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

また、Bean定義に継承を指定することができます。

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

最後に、XML構成から以前に定義されたBeanをインポートする必要がある場合は、importBeans():を使用してこれを行うことができます。

importBeans("somexmlconfig.xml")

5. 結論

このチュートリアルでは、Spring Groovy Bean構成を作成する方法を見ました。 また、エイリアス、スコープ、親、初期化または破棄のメソッド、他のXML定義Beanのインポート方法など、Beanの追加プロパティの設定についても説明しました。

例は単純ですが、拡張して、あらゆるタイプのSpring構成の作成に使用できます。

この記事で使用されている完全なサンプルコードは、GitHub projectにあります。 これはMavenプロジェクトなので、インポートしてそのまま実行できるはずです。