runaround’s diary

なんとなく、つれづれ

ちょっぴりMicronautと仲良くなってみた

5月にGraalVMをちょこっと触ってみました。

run-around.hatenablog.com

今回はMicronautとちょっと仲良くなってみます。

ホントはGraalVMからあまり時間をおかずにやってみていたのですけど・・・
MBAの容量逼迫とIntelliJのビルドが荒ぶる事態でちょっと延びてたんです。
色々と入れて試しすぎていた環境をきれいにすべくクリーンインストールを実施。
もともとはMojaveだったと思うけど今回はCatalinaにしてみた。
もうそろそろ不具合も随分直ってんじゃね?ってことで。


Micronautについても、GraalVM同様でみんなのJavaで紹介されていますね。

gihyo.jp



さて、ここからは私への備忘録。
とりあえずはHello Worldするところまでです。


まずは公式サイトをチェックするぞ、と。
micronaut.io


あらSpringBootみたいにジェネレーターもあるし、Javaのコード見てるとSpringBootとそっくりー
SpringBootのいいとこどりみたいな構成なんだそうで、なるほどねーと。
じゃ、Thymeleafとか使えるのかな?とか思ったらサンプル上げている方がおられた。

気になるところは一通り読んで、まずはプロジェクトを作ってみましょうかねー。
f:id:run_around:20200614164414p:plain


トップページに「Generate a Project」のリンクがあるのでクリック
f:id:run_around:20200614163736p:plain


ここで種類選んだりJavaのバージョン選んだり、名前変えたりできます。
Previewを押せばポップアップでどんなソースが生成されるのかも確認できる。便利ー
今回はお試しなので、すべてデフォルト状態で生成してみます。
f:id:run_around:20200614164122p:plain


スポン、とZipファイルでダウンロード出来るので解凍してIntelliJに読み込ませました。
f:id:run_around:20200614164255p:plain


特にエラーとかも出てなさそうなので、HelloControllerクラスを書いてみます。

package com.example;

import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;

@Controller("/hello")
public class HelloController {

    @Get(produces = MediaType.TEXT_PLAIN)
    public String index() {
        return "Hello World";
    }
}


コンパイルも問題なく通ってそうです。
ではAppliccationのmaimメソッドをrunしてみましょうか。
f:id:run_around:20200614165200p:plain


問題なくサーバーも立ち上がったようですね。
f:id:run_around:20200614165312p:plain


実行はターミナルからでもブラウザからでもOK。

curl http://localhost:8080/hello

f:id:run_around:20200614165741p:plain
f:id:run_around:20200614165752p:plain



無事ハローすることができました。
今回はここまでw


次回以降で考えているのは
- プロジェクトにGraalVMを適用する
- ちょこっとWebアプリケーションを作ってみる
- WebアプリケーションでDBを操作してみる
- テンプレートにThymeleafを適用してみる
- Docker上で動くようにしてみる

とかかなー。
今日はもうオシマイにして呑も呑も。