Gradle と Spring4 で Hello, World!

こんにちは、北川です。

 

鈴木さんの、「Maven3 と Spring4 で Hello, World」 の記事読んで Gradle イイヨ!
と勧めたくなったので Gradle と Spring4 で Hello, World やります。

流れは、「Maven3 と Spring4 で Hello, World」と全く同じですで
冗長な部分もありますがご了承ください。

 

Gradle のインストール

Gradleは以下のサイトでダウンロードできます。

http://www.gradle.org/

ダウンロードして展開してパスを通せば準備 OK です。

 

プロジェクトを作る

Gradleでプロジェクトを作ります。

実行すると hello というgradleプロジェクトの雛形が作成されます。

build.gradle に Spring4 を追加する

まずは build.gradle を以下のように編集しましょう。

コメントで「追加 - ここから」と「追加 - ここまで」と書いた範囲を追加しました。

 

HelloService インタフェースを作る

HelloService というインタフェースを作成します。(src/main/java/com/example/spring4/hello/HelloService.java)

実装クラスの getMessage() で「Hello, World!」と返す予定です。

HelloServiceImpl クラスを作る

次に HelloService の実装クラスを作ります。(src/main/java/com/example/spring4/hello/HelloServiceImpl.java)

getMessage() で「Hello, World!」と返すように実装しました。

@Component を付けておくと Spring コンテナによってコンポーネントとして自動検出されるようになります。つまり、DI したい実装クラスには @Component を付けるということです。

 

HelloWorldPrinter を作る

次は HelloService を使ってメッセージを表示する HelloWorldPrinter クラスを作ります。(src/main/java/com/example/spring4/hello/HelloWorldPrinter.java)

HelloWorldPrinter 自身も Spring コンテナに登録するので @Component を付けています。helloService フィールドに @Autowired を付けていますが、これは Spring コンテナから型の合うコンポーネントを自動的に DI してもらうためのものです。

run() メソッドでは helloService#getMessage() の結果を単純に出力しています。

 

App クラスを作る

最後に動作確認用のコードを書きます。(src/main/java/com/example/spring4/hello/App.java)

AnnotationConfigApplicationContext を new して、それから取り出した HelloWorldPrinter の run() メソッドを呼び出しています。

App クラスに付けているアノテーションですが、@ComponentScan は @Configuration を付けたクラスで Spring コンテナが管理するコンポーネントを使うよー、と伝えるためのものです。

 

実行する

それではコンパイルして実行してみます。
実行するために build.gradle に task を追加します。
末尾に下記を追加します。

それではタスクを実行してみます。

きちんと「Hello, World!」と表示されました。

 

Hello, World! してみて

冒頭にも記載しましたが「Maven3 と Spring4 で Hello, World」のGradle 版です。
Gradle の方が簡潔に書けXMLベースでないのが個人的には好きです。

 

Comments are closed, but you can leave a trackback: Trackback URL.