LoginSignup
0
0

More than 3 years have passed since last update.

micronautドキュメント目次メモ

Posted at

これは何?

micronaut のユーザーガイドのどこをを読めばいいかのメモ。
対象は ver1.3.4 のドキュメント。

1 Introduction

いわゆる「説明」。背景の説明あり。

1.1 What's New?

過去バージョンからの変更履歴。依存ライブラリの記述あり。

2 Quick Start

2章全体で、 Hello world アプリを作るまでの手順を解説。

2.1 Build/Install the CLI

さまざまなインストール方法の解説。

2.1.1 Install with Sdkman

中略。

2.1.2 Install with Homebrew

中略。

2.1.3 Install with MacPorts

中略。

2.1.4 Install through Binary on Windows

中略。

2.1.5 Building from Source

中略。

2.2 Creating a Server Application

アプリケーション作成の手順を順に説明。
単純なcontrollerのソースと、@Controller, @Get アノテーションの説明あり。

2.3 Setting up an IDE

各IDEの説明だけでなく、mainクラスの説明も。

2.4 Creating a Client

micronaut が持つ HTTP client 機能の利用法サンプル。
テストクラス作成の過程で各機能を説明。

2.5 Deploying the Application

実行可能jarファイルの作り方。
具体的には以下のどちらか。

./gradlew assemble
./mvnw package

3 Inversion of Control

3章は、いわゆるDIの実現方法について。

3.1 Defining Beans

Beanの定義例。

3.2 How Does it Work?

Beanが裏でどう動いているかの説明。

3.3 The BeanContext

BeanContextインターフェースの概要。

3.4 Injectable Container Types

Beanを扱う方法の一覧表あり。

3.5 Bean Qualifiers

Beanの選ばれ方について。

  • 名前による
  • アノテーションによる
  • Beanの優先度(@Primaryアノテーション)

3.6 Scopes

Beanのスコープ(生存範囲)について。

3.6.1 Built-In Scopes

既定のスコープの表。

3.6.2 Refreshable Scope

任意のタイミングでクリアできる@Refreshableスコープについて。

3.6.3 Scopes on Meta Annotations

スコープの指定方法について。

3.7 Bean Factories

Beanを生成する@Factoryアノテーションと、nullを返していい条件について。

3.8 Conditional Beans

条件を設定する@Requiresアノテーションについて。
条件付きBean生成のデバッグ方法も。

3.9 Bean Replacement

Beanを入れ替える@Replacesアノテーションについて。
使用例として、実装を推奨する@DefaultImplementationを説明。

3.10 Bean Configurations

Beanをグルーピングする@Configurationアノテーションについて。

3.11 Life-Cycle Methods

Beanの生成/破棄時に実行される@PostConstruct@PreDestroyアノテーションについて。

3.12 Context Events

pub/sub的に使えるイベント機構について。

3.13 Bean Events

@PostConstructの前後にさらに細かく制御するための、BeanInitializedEventListener, BeanCreatedEventListener について。

3.14 Bean Introspection

クラスの情報を取得する Introspector クラスの挙動について。

3.15 Bean Validation

Beanのバリデーションについて。
micronaut標準ではバリデーションをサポートしているものの、仕様完全準拠ではないことに注意。

3.16 Bean Annotation Metadata

アノテーションの拡張について。

3.17 Micronaut Beans And Spring

Springとの連携について。

3.18 Android Support

Android開発について。

4 Application Configuration

4章は、アプリケーションの構成と設定の渡し方について。

4.1 The Environment

環境変数による基本的な手段について。

4.2 Externalized Configuration with PropertySources

PropertySourcesを用いた方法について。

4.3 Configuration Injection

@Valueアノテーションによる参照について。

4.4 Configuration Properties

タイプセーフな設定を実現する@ConfigurationPropertiesアノテーションについて。

4.5 Custom Type Converters

独自形式をサポートするためのTypeConverterクラスについて。

4.6 Using @EachProperty to Drive Configuration

@EachPropertyアノテーションによる個別設定の実現について。

4.7 Using @EachBean to Drive Configuration

@EachBeanアノテーションによるBeanの切り替えについて。

4.8 Immutable Configuration

イミュータブルのサポートについて。

4.9 JMX Support

JMX(Java Management Extensions) について。

5 Aspect Oriented Programming

5章は、AOP(アスペクト志向プログラミング)について。

5.1 Around Advice

Around Adviceと、アドバイスの書き方について。
例として、スタブ値を設定する@Stubアノテーションの説明あり。

5.2 Introduction Advice

実装を提供する形式のIntroduction Adviceについて。

5.3 Method Adapter Advice

メソッドに修飾するMethod Adapter Adviceについて。
例として@EventListenerアノテーション。

5.4 Validation Advice

バリデーションについて。詳細はJSR 380を参照。

5.5 Cache Advice

キャッシュを制御するCache Adviceと、キャッシュ機構について。

5.6 Retry Advice

リトライを制御するRetry Adviceについて。
例として@Retryableアノテーションと@CircuitBreakerアノテーション。

5.7 Scheduled Tasks

バックグラウンドタスクのスケジュール使える@Scheduledアノテーションと、バックグラウンドタスクの制御について。

5.8 Bridging Spring AOP

Spring AOPとの連携について。

6 The HTTP Server

6章は、HTTPサーバーとの連携について。

6.1 Running the Embedded Server

組み込みサーバーについて。

6.2 Running Server on a Specific Port

組み込みサーバーのポート番号の指定について。

6.3 HTTP Routing

URIパスの指定について。

6.4 Simple Request Binding

URIパラメータやCookieのバインディングについて。

6.5 Host Resolution

ホスト名の取得方法について。

6.6 Client IP Address

クライアントIPアドレスの取得方法について。

6.7 The HttpRequest and HttpResponse

HTTPリクエスト情報の詳細について。

6.8 Response Status

HTTPレスポンスコードについて。

6.9 Response Content-Type

レスポンスのコンテンツタイプの指定方法について。

6.10 Accepted Request Content-Type

リクエストのコンテンツタイプの指定方法について。

6.11 Reactive HTTP Request Processing

リアクティブ処理について。

6.11.1 Using the @Body Annotation

データを受け取る@Bodyアノテーションについて。

6.11.2 Reactive Responses

レスポンスの返し方について。

6.12 JSON Binding with Jackson

JSONの扱い方について。

6.13 Data Validation

バリデーションについて。

6.14 Serving Static Resources

静的リソースについて。

6.15 Error Handling

エラー処理や例外ハンドリングについて。

6.16 API Versioning

APIのバージョン管理について。

6.17 Handling Form Data

フォームデータの処理について。

6.18 Writing Response Data

応答の返し方、特にノンブロッキングI/Oについて。

6.19 File Uploads

ファイルアップロードの処理について。

6.20 File Transfers

ファイル送信の方法について。

6.21 HTTP Filters

HTTPフィルタについて。

6.22 HTTP Sessions

セッション管理の方法について。

6.23 Server Sent Events

サーバー送信イベントの使い方について。

6.24 WebSocket Support

WebSocketサポートの概要。

6.24.1 Using @ServerWebSocket

URIにマッピングする@ServerWebSocketについて。

6.24.2 Using @ClientWebSocket

micronaut側はクライアントとなる@ClientWebSocketについて。

6.25 Server Events

サーバーイベントとそのリスナーについて。

6.26 Configuring the HTTP Server

HTTPサーバーの設定について。

6.26.1 Configuring Server Thread Pools

HTTPサーバーのスレッド構成について。

6.26.2 Configuring CORS

CORS(Cross Origin Resource Sharing)について。

6.26.3 Securing the Server with HTTPS

HTTPSサポートと証明書使用について。

6.26.4 Enabling HTTP and HTTPS

HTTP/HTTPSの有効化について。

6.27 Server Side View Rendering

サーバーサイドレンダリングの紹介。

6.28 OpenAPI / Swagger Support

OpenAPIとの連携の紹介。

6.29 GraphQL Support

GraphQLサポートの紹介。

7 The HTTP Client

7章は、組み込まれているHTTPクライアント機能について。

7.1 Using the Low-Level HTTP Client

基本機能のHttpClientインターフェースと、FlowableRxHttpClientがある。

7.1.1 Sending your first HTTP request

基本的な使用方法、デバッグ方法の解説。

7.1.2 Posting a Request Body

リクエストの送信方法について。
一部をパラメータ化するURIテンプレート機能の紹介。

7.1.3 Multipart Client Uploads

マルチパートリクエストの送信方法について。

7.1.4 Streaming JSON over HTTP

ストリーミング通信について。

7.1.5 Configuring HTTP clients

HTTPクライアントの設定について。

7.1.6 Error Responses

400以上のレスポンスが返された場合、HttpClientResponseException例外が発生。

7.1.7 Bind Errors

リクエストのバインドエラーについて。

7.2 Declarative HTTP Clients with @Client

@Clientアノテーションを使用したクライアントの動作について。

7.2.1 Customizing Parameter Binding

パラメータのバインディングについて。

7.2.2 Streaming with @Client

ストリーミングのクライアント処理について。

7.2.3 Error Responses

通信エラーのハンドリングについて。

7.2.4 Customizing Request Headers

リクエストヘッダーのカスタマイズ方法について。

7.2.5 Customizing Jackson Settings

Jacksonの設定方法について。

7.2.6 Retry and Circuit Breaker

リトライ制御について。

7.2.7 Client Fallbacks

障害発生時のフォールバック機構について。

7.2.8 Netflix Hystrix Support

フォールトトレランスのサポートについて。

7.3 HTTP Client Filters

クライアントとしてのHTTPフィルタについて。

7.4 HTTP Client Sample

サンプルはチュートリアルを参照。

8 Cloud Native Features

8章は、クラウド対応について。

8.1 Cloud Configuration

提供されている対応環境について。

8.1.1 Distributed Configuration

分散されたマイクロサービスでの共有について。

8.1.2 HashiCorp Consul Support

HashiCorp Consul対応について。

8.1.3 HashiCorp Vault Support

HashiCorp Vault対応について。

8.1.4 Spring Cloud Config Support

Spring Cloud対応について。

8.1.5 AWS Parameter Store Support

AWS Parameter Store対応について。

8.2 Service Discovery

サービスディスカバリ機能について。

8.2.1 Consul Support

Consul対応について。

8.2.2 Eureka Support

Eureka対応について。

8.2.3 Kubernetes Support

Kubernetes対応について。

8.2.4 AWS Route 53 Support

AWS Route 53対応について。

8.2.5 Manual Service Discovery Configuration

サービスディスカバリの手動設定について。

8.3 Client Side Load Balancing

サービスディスカバリを利用した負荷分散について。

8.3.1 Netflix Ribbon Support

Netflix Ribbon対応について。

8.4 Distributed Tracing

分散トレーシングについて。

8.4.1 Tracing with Zipkin

Zipkin対応について。

8.4.2 Tracing with Jaeger

Jaeger対応について。

9 Serverless Functions

9章は、サーバーレス構成への対応について。

9.1 Writing Functions

サーバーレスの実装方法について。

9.1.1 FunctionApplication

サーバーレスアプリケーションを定義するFunctionApplicationクラスについて。

9.1.2 FunctionBean

関数の動作を記述する@FunctionBeanアノテーションについて。

9.1.3 Groovy Functions

Groovyスクリプトとしての記述方法について。

9.2 Running Functions

実装した関数の実行方法について。

9.2.1 Functions as Web Applications

Webアプリケーションとして実行する方法。

9.2.2 Functions as CLI Applications

CLIアプリケーションとして実行する方法。

9.3 Deploying Functions

サーバーレス構成のデプロイについて。

9.3.1 Deploying Functions to AWS Lambda

AWS Lambda環境へのデプロイについて。

9.3.2 Deploying Functions to OpenFaaS

OpenFaaS環境へのデプロイについて。

9.4 Calling Functions with FunctionClient

アプリケーションから直接呼び出すFunctionClient形式のサポートについて。

10 Message-Driven Microservices

10章は、メッセージ駆動型のマイクロサービス構成について。

10.1 Kafka Support

Apache Kafka対応について。

10.2 RabbitMQ Support

RabbitMQ対応について。

11 Standalone Command Line Applications

11章は、CLIアプリケーションとして動作させる方法について。

11.1 Picocli Support

Picocli対応について。

12 Configurations

12章は、よく使用されるコンポーネントとの連携モジュールについて。

12.1 Configurations for Data Access

データベースアクセスのためのモジュール紹介。

12.1.1 Configuring a SQL Data Source

SQLデータソースの構成について。

12.1.2 Configuring Hibernate

Hibernate / JPA の構成について。

12.1.3 Configuring MongoDB

MongoDBの構成について。

12.1.4 Configuring Neo4j

Neo4j Bolt Driverの構成について。

12.1.5 Configuring Postgres

Postgresの構成について。

12.1.6 Configuring Redis

Redisの構成について。

12.1.7 Configuring Cassandra

Cassandraの構成について。

12.1.8 Configuring Liquibase

Liquibaseの構成について。

12.1.9 Configuring Flyway

Flywayの構成について。

13 Language Support

13章は、各JVM言語のサポートについて。

13.1 Micronaut for Java

Java言語について。

13.1.1 Using Micronaut with Java 9+

Java 9以降での注意点について。

13.1.2 Incremental Annotation Processing with Gradle

Gradleを利用したインクリメンタル処理について。

13.1.3 Using Project Lombok

Project Lombokを使用する際の注意点について。

13.1.4 Configuring an IDE

IDEを使用する際の設定方法について。

13.1.5 Retaining Parameter Names

メソッドパラメータ名が保持されないことで発生する問題へのトラブルシューティングについて。

13.2 Micronaut for Groovy

Groovy言語について。

13.3 Micronaut for Kotlin

Kotlin言語について。

13.3.1 Kotlin, Kapt and IntelliJ

KotlinとIntelliJの組み合わせについて。

13.3.2 Incremental Annotation Processing with Gradle and Kapt

GradleとKaptを使用した際のインクリメンタル処理について。

13.3.3 Kotlin and AOP Advice

KotlinでAOPを実現する際の注意点について。

13.3.4 Kotlin and Retaining Parameter Names

メソッドパラメータ名が保持されないことで発生する問題へのトラブルシューティングについて。

13.3.5 Coroutines Support

コルーチンのサポートについて。

13.4 Micronaut for GraalVM

GraalVMについて。

13.4.1 Microservices as GraalVM native images

GraalVMネイティブイメージへの対応について。

13.4.2 GraalVM and Micronaut FAQ

GraalVMを使用する際のFAQ。

14 Management & Monitoring

14章は、管理エンドポイントの構成について。

14.1 Creating Endpoints

管理エンドポイントの作成について。

14.1.1 The Endpoint Annotation

エンドポイントを作成する@Endpointアノテーションについて。

 14.1.2 Endpoint Methods

エンドポイントで実装するメソッドについて。

14.1.3 Endpoint Configuration

エンドポイント構成の設定について。

14.2 Built-In Endpoints

組み込みエンドポイントの紹介。

14.2.1 The Beans Endpoint

Bean定義に関する情報を返す、Beansエンドポイントについて。

14.2.2 The Info Endpoint

静的情報を返すInfoエンドポイントとカスタマイズ方法にについて。

14.2.3 The Health Endpoint

動作状態を返す、Healthエンドポイントについて。

14.2.4 The Metrics Endpoint

Micrometerと連携する、Metricsエンドポイントについて。

14.2.5 The Refresh Endpoint

アプリケーションの状態を更新し再インスタンス化しなおす、Refreshエンドポイントについて。

14.2.6 The Routes Endpoint

URI情報を返す、Routesエンドポイントについて。

14.2.7 The Loggers Endpoint

ロガーの情報とログレベルを設定する、Loggersエンドポイントについて。

14.2.8 The Caches Endpoint

アプリケーション内のキャッシュを制御する、Cachesエンドポイントについて。

14.2.9 The Server Stop Endpoint

サーバーを停止する、Stopエンドポイントについて。
デフォルトでは無効。

14.2.10 The Environment Endpoint

環境情報を取得する、Environmentエンドポイントについて。

15 Security

15章は、セキュリティ機能の紹介。

16 Multi-Tenancy

16章は、マルチテナンシーについて。

16.1 Multi-Tenancy GORM

GORMとの連携について。

17 Micronaut CLI

17章は、micronautでの開発で使用するmnコマンドの説明について。

17.1 Creating a Project

プロジェクトの作成について。

17.2 Profiles

テンプレート等を含む、プロファイル機能について。

17.2.1 Comparing Versions

バージョンの比較方法について。

17.3 Features

追加の依存関係を構成する、フィーチャーについて。

17.4 Commands

プロファイルに含まれる、実行可能なコマンドについて。

17.5 Reloading

15章は、開発時の再起動(ホットリロード等)について。

17.5.1 Automatic Restart

再起動の方法について。

17.5.2 JRebel

JRebelとの連携について。

17.5.3 Spring-Loaded

Spring-Loadedとの連携について。

17.5.4 Reloading with Gradle

Gradleを利用している場合の再起動について。

17.5.5 Reloading with an IDE

IDEを利用している場合の再起動について。

17.6 Proxy Configuration

HTTPプロキシ環境下での操作方法について。

18 Appendices

18章は付録。

18.1 Frequently Asked Questions (FAQ)

micronautに関するFAQ。

18.2 Using Snapshots

micronautの配布方法について。

18.3 Common Problems

micronautを使用する際に発生する一般的な問題について(トラブルシューティング)。

18.4 Breaking Changes

これまで/これからの重大な変更について。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0