Java Spring Boot: Groovy(グルービー)

書籍Spring Boot2 プログラミング入門 掌田津耶乃


Spring Boot
Webアプリケーション用のフレームワークの基本となるものは、「MVC」というフレームワークです。
もっと効率的に必要最小限の作業でSpring MVCを使ったWebアプリケーションを構築できるようにしようという考えから生まれたのがSpring Bootです。
Spring Bootアプリケーションについて
Spring Bootを利用するアプリケーションは、1.Groovyによるアプリケーションと2.Javaによるアプリケーションの大きく2つに分けて考えることができます。
Groovyによるアプリケーション
Spring Bootは、Groovyをサポートしています。Groovyは、Java仮想マシン上で動作するスクリプト言語です。
Javaによるアプリケーション
Spring Bootの一般的なアプリケーション形態です。Maven(またはGradle)というビルドツールを利用したプロジェクトとして作成され、Javaでコーディングを行います。

Sample app.groovy

Sample app.groovy


Thymeleaf(タイムリーフ)を利用する

Spring Bootでは「Thymeleaf」というテンプレートライブラリがよく使われます。
Thymeleaf

  • ThymeleafはJava用に作成されたテンプレートで、Javaのクラスとして実装されています。
  • Groovyでは、Javaのクラスをそのまま利用できるためThymeleafを使うことができます。
  • Spring Boot自体にも、Thymeleafを利用する機能が用意されているので、別途Thymeleafのライブラリなどをインストールする必要はありません。

Thymeleafテンプレートの作成

テンプレート home.html

app.groovy

Groovyテンプレートの作成

テンプレート home.tpl

app.groovy


ビューとコントローラーの連携 p73

ビューに値を渡す

テンプレートの${msg}が置き換わっています。

テンプレート home.html

app.groovy

addObjectで日本語を使用すると文字化けが起こります。

app.groovy

この文字化けをを解消するには、Spring Bootの機能設定などを行わないといけませんが、ここでは安易な対処法としてnative2asciiを使います。以下のコマンドを実行すると、日本語が変換されたソースapp2.groobyが作成されます。

フォームを送信する p77

テンプレート home.html

h4>app.groovy