Spring Boot CLI と Groovy 7行で Hello, world! してみたのでメモっとく。
Spring Boot で Hello, world! するのを Java と Kotlin と Groovy で比較するよりマイクロにできることがわかったのでついでに書いておく。
なお本稿は macOS 環境を前提にしている。
Spring Boot CLI をインストールする
Homebrew で Spring Boot CLI をインストールする。
$ brew tap pivotal/tap
$ brew install springboot
ターミナルで下記のコマンドを実行してみるとバージョンが表示される。なお、Rails 環境がローカルにあると Rails が使用している spring が実行されてしまう可能性があるので PATH 環境変数を調整しよう。
$ spring --version
Spring CLI v1.5.4.RELEASE
Hello プロジェクトを作成する
Hello プロジェクトのディレクトリを作成して移動する。
$ mkdir hello
$ cd hello
そのディレクトリに HelloApplication.groovy ファイルを作成する。
@RestController
class HelloApplication {
@RequestMapping("/")
def hello() {
"Hello, world!"
}
}
Hello プロジェクトを実行する
Hello プロジェクトのディレクトリに移動して Spring Boot CLI の run サブコマンドを HelloApplication.groovy に対して実行すると Web サーバーが起動する。
$ spring run HelloApplication.groovy
GET リクエストを送信する
起動した Hello プロジェクトに GET リクエストを送信すると Hello, world! が返ってくる。
$ curl localhost:8080
Hello, world!
Groovy に限定されてしまうけどマイクロフレームワーク並のコードで Spring の機能が利用できるのは魅力的。動作の詳細については時間があるときに記事にまとめたいな。プロダクション用にパッケージングすることもできるようなのであなどれない機能だね。
参考文献
Spring Boot in Action
https://docs.spring.io/spring-boot/docs/current/reference/html/cli-using-the-cli.html