Edited at

Micronaut入門1〜導入〜


目的

SIerではSpring系FWが採用されるケースが多いが、Micronautは既存の有名FWに影響を受けていることもあり導入障壁はそれほど高くなさそうで既存FWの欠点を克服しているということで技術調査がてらメモ。


Micronautとは

マイクロサービスアプリケーションを構築するために設計された、最新のJVMベースのフルスタックマイクロサービスフレームワーク。

Micronautはマイクロサービスを構築するすべての機能の提供する。

それと同時に、Spring、Spring Boot、Grailsのようなフレームワークの欠点を回避するため以下を提供する。


  • Fast startup time

  • Reduced memory footprint

  • Minimal use of reflection

  • Minimal use of proxies

  • Easy unit testing

SI業界ではビジネスモデル上あまり向かないと思われるが、マイクロサービスをターゲットに設計されている。


環境構築


  • Java8以上のSDKがはいっていること

  • SDKMANにてMicronaut CLIをインストールする


SDKMANのインストール

$ curl -s "https://get.sdkman.io" | bash

$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk update
$ sdk install micronaut 1.1.0.M1


サーバーアプリの作成


テンプレートプロジェクトの作成

--features file-watchでオートリロード機能がつく

$ mn create-app my-app --features file-watch

$ cd my-app
$ ./gradlew run --continuous


コントローラーの作成


HelloController.java

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!!";
}
}


http://localhost:8080/hello

にアクセスでhello world!!が表示される。

ファイルの変更を検知し、再起動してくれる。

起動もとてもはやく、もっさり感は感じない。


参考

https://docs.micronaut.io/1.1.0.M1/guide/index.html