1概要

このクイック記事では、Java SpringプロジェクトでGroovyベースの構成をどのように使用できるかに焦点を当てます。


2依存関係

始める前に、

pom.xml

ファイルに依存関係を追加する必要があります。 Groovyファイルをコンパイルするためのプラグインも追加する必要があります。

最初にGroovyの依存関係を

pom.xml

ファイルに追加しましょう。

<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
    <version>2.4.12</version>
</dependency>

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

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
    <configuration>
        <compilerId>groovy-eclipse-compiler</compilerId>
        <verbose>true</verbose>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>${project.build.sourceEncoding}</encoding>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-eclipse-compiler</artifactId>
            <version>2.9.2-01</version>
        </dependency>
    </dependencies>
</plugin>

ここでは、Groovy-Eclipseコンパイラーを使用してプロジェクトをコンパイルするためにMavenコンパイラーを使用します。これは私たちが使うIDEによって変わるかもしれません。

これらのライブラリの最新版はhttps://search.maven.org/classic/#search%7C1%7Cg%3A%22org.codehaus.groovy%22%20AND%20a%3A%22groovy-allにあります。 %22[メイヴン中央]。


3 Beanの定義

バージョン4以降、SpringはGroovyベースの設定をサポートしています。つまり、Groovyクラスは合法的なSpring Beanになることができます。

これを説明するために、標準の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クラスをインポートする必要があります。また、



beansブロック内に 、必要なだけBeanを定義できます。

私たちは私たちのフィールドを非公開として定義しました、そして** Groovyはそれが直接それらにアクセスしているように見えますが、それは提供されたgetter/setterを使ってそれをしています


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のインポート方法など、追加のプロパティの設定についても説明しました。

__

例は簡単ですが、拡張して任意のタイプのSpring設定を作成するために使用できます。

この記事で使用されている完全なサンプルコードは、https://github.com/eugenp/tutorials/tree/master/spring-core[GitHubプロジェクト]にあります。これはMavenプロジェクトなので、インポートしてそのまま実行できるはずです。