[JAVA] micronaut document table of contents memo

What is this?

A note of where to read in the micronaut User Guide (http://docs.micronaut.io/latest/guide/index.html). The target is the document of ver1.3.4.

1 Introduction

So-called "explanation". There is a background explanation.

1.1 What's New?

Change history from the past version. There is a description of the dependent library.

2 Quick Start

The entire Chapter 2 explains the procedure for creating the Hello world app.

2.1 Build/Install the CLI

Explanation of various installation methods.

2.1.1 Install with Sdkman

Omitted.

2.1.2 Install with Homebrew

Omitted.

2.1.3 Install with MacPorts

Omitted.

2.1.4 Install through Binary on Windows

Omitted.

2.1.5 Building from Source

Omitted.

2.2 Creating a Server Application

The procedure for creating an application is explained in order. There is a simple controller source and a description of the @ Controller and @ Get annotations.

2.3 Setting up an IDE

Not only the description of each IDE, but also the description of the main class.

2.4 Creating a Client

A sample usage of the HTTP client function of micronaut. Explain each function in the process of creating a test class.

2.5 Deploying the Application

How to create an executable jar file. Specifically, either of the following.

./gradlew assemble
./mvnw package

3 Inversion of Control

Chapter 3 is about how to realize so-called DI.

3.1 Defining Beans

Bean definition example.

3.2 How Does it Work?

An explanation of how the bean works behind the scenes.

3.3 The BeanContext

An overview of the BeanContext interface.

3.4 Injectable Container Types

There is a list of how to handle beans.

3.5 Bean Qualifiers

How to choose a bean.

--By name --By annotation --Bean priority (@Primary annotation)

3.6 Scopes

About the scope (survival range) of the bean.

3.6.1 Built-In Scopes

Default scope table.

3.6.2 Refreshable Scope

About the @Refreshable scope that can be cleared at any time.

3.6.3 Scopes on Meta Annotations

How to specify the scope.

3.7 Bean Factories

About the @Factory annotation that creates a bean and the conditions that can return null.

3.8 Conditional Beans

About the @Requires annotation that sets the conditions. Also how to debug conditional bean generation.

3.9 Bean Replacement

About the @Replaces annotation that replaces beans. As a usage example, @DefaultImplementation that recommends implementation is explained.

3.10 Bean Configurations

About the @Configuration annotation that groups beans.

3.11 Life-Cycle Methods

About @PostConstruct and @PreDestroy annotations that are executed when a bean is created / destroyed.

3.12 Context Events

About the event mechanism that can be used as a pub / sub.

3.13 Bean Events

About BeanInitializedEventListener, BeanCreatedEventListener for finer control before and after @ PostConstruct.

3.14 Bean Introspection

About the behavior of the Introspector class to get information about the class.

3.15 Bean Validation

About bean validation. Note that although the micronaut standard supports validation, it is not fully compliant.

3.16 Bean Annotation Metadata

About extension of annotation.

3.17 Micronaut Beans And Spring

About cooperation with Spring.

3.18 Android Support

About Android development.

4 Application Configuration

Chapter 4 is about application configuration and how to pass settings.

4.1 The Environment

About the basic means by environment variables.

4.2 Externalized Configuration with PropertySources

About the method using PropertySources.

4.3 Configuration Injection

About reference by @Value annotation.

4.4 Configuration Properties

About the @ConfigurationProperties annotation that realizes type-safe settings.

4.5 Custom Type Converters

About the TypeConverter class to support proprietary formats.

4.6 Using @EachProperty to Drive Configuration

About realization of individual setting by @EachProperty annotation.

4.7 Using @EachBean to Drive Configuration

About switching beans by @EachBean annotation.

4.8 Immutable Configuration

About immutable support.

4.9 JMX Support

About JMX (Java Management Extensions).

5 Aspect Oriented Programming

Chapter 5 is about AOP (Aspect Oriented Programming).

5.1 Around Advice

ʻAround Adviceand how to write advice. As an example, there is a description of the@Stub` annotation that sets the stub value.

5.2 Introduction Advice

About ʻIntroduction Advice` in the form that provides the implementation.

5.3 Method Adapter Advice

About Method Adapter Advice to qualify a method. An example is the @EventListener annotation.

5.4 Validation Advice

About validation. See JSR 380 for details.

5.5 Cache Advice

About Cache Advice that controls the cache and the cache mechanism.

5.6 Retry Advice

About Retry Advice to control retries. For example, the @Retryable and @CircuitBreaker annotations.

5.7 Scheduled Tasks

Schedule background tasks About @Scheduled annotations that can be used and control of background tasks.

5.8 Bridging Spring AOP

About cooperation with Spring AOP.

6 The HTTP Server

Chapter 6 is about cooperation with HTTP server.

6.1 Running the Embedded Server

About embedded servers.

6.2 Running Server on a Specific Port

About specifying the port number of the embedded server.

6.3 HTTP Routing

About specifying the URI path.

6.4 Simple Request Binding

About URI parameters and cookie bindings.

6.5 Host Resolution

How to get the host name.

6.6 Client IP Address

How to get the client IP address.

6.7 The HttpRequest and HttpResponse

For more information on HTTP request information.

6.8 Response Status

About HTTP response code.

6.9 Response Content-Type

How to specify the content type of the response.

6.10 Accepted Request Content-Type

How to specify the content type of the request.

6.11 Reactive HTTP Request Processing

About reactive processing.

6.11.1 Using the @Body Annotation

About the @Body annotation that receives the data.

6.11.2 Reactive Responses

How to return the response.

6.12 JSON Binding with Jackson

How to handle JSON.

6.13 Data Validation

About validation.

6.14 Serving Static Resources

About static resources.

6.15 Error Handling

About error handling and exception handling.

6.16 API Versioning

About API version control.

6.17 Handling Form Data

About processing form data.

6.18 Writing Response Data

How to return a response, especially non-blocking I / O.

6.19 File Uploads

About the file upload process.

6.20 File Transfers

How to send a file.

6.21 HTTP Filters

About HTTP filters.

6.22 HTTP Sessions

How to manage sessions.

6.23 Server Sent Events

How to use the server send event.

6.24 WebSocket Support

An overview of WebSocket support.

6.24.1 Using @ServerWebSocket

About @ServerWebSocket that maps to a URI.

6.24.2 Using @ClientWebSocket

The micronaut side is about @ClientWebSocket which is a client.

6.25 Server Events

About server events and their listeners.

6.26 Configuring the HTTP Server

About HTTP server settings.

6.26.1 Configuring Server Thread Pools

About the thread configuration of the HTTP server.

6.26.2 Configuring CORS

About CORS (Cross Origin Resource Sharing).

6.26.3 Securing the Server with HTTPS

About HTTPS support and certificate usage.

6.26.4 Enabling HTTP and HTTPS

About enabling HTTP / HTTPS.

6.27 Server Side View Rendering

Introducing server-side rendering.

6.28 OpenAPI / Swagger Support

Introduction of cooperation with OpenAPI.

6.29 GraphQL Support

Introducing GraphQL support.

7 The HTTP Client

Chapter 7 is about the built-in HTTP client features.

7.1 Using the Low-Level HTTP Client

There is a basic function HttpClient interface and a Flowable RxHttpClient.

7.1.1 Sending your first HTTP request

Explanation of basic usage and debugging method.

7.1.2 Posting a Request Body

How to send a request. Introduction of URI template function to parameterize a part.

7.1.3 Multipart Client Uploads

How to send a multipart request.

7.1.4 Streaming JSON over HTTP

About streaming communication.

7.1.5 Configuring HTTP clients

About HTTP client settings.

7.1.6 Error Responses

If more than 400 responses are returned, a HttpClientResponseException exception will be thrown.

7.1.7 Bind Errors

About request binding error.

7.2 Declarative HTTP Clients with @Client

About client behavior using the @ Client annotation.

7.2.1 Customizing Parameter Binding

About parameter binding.

7.2.2 Streaming with @Client

About streaming client processing.

7.2.3 Error Responses

About handling communication errors.

7.2.4 Customizing Request Headers

How to customize the request header.

7.2.5 Customizing Jackson Settings

How to set up Jackson.

7.2.6 Retry and Circuit Breaker

About retry control.

7.2.7 Client Fallbacks

About the fallback mechanism when a failure occurs.

7.2.8 Netflix Hystrix Support

About fault tolerance support.

7.3 HTTP Client Filters

About HTTP filters as clients.

7.4 HTTP Client Sample

See the tutorial for a sample.

8 Cloud Native Features

Chapter 8 is about cloud support.

8.1 Cloud Configuration

About the supported environment provided.

8.1.1 Distributed Configuration

About sharing in distributed microservices.

8.1.2 HashiCorp Consul Support

About HashiCorp Consul support.

8.1.3 HashiCorp Vault Support

About HashiCorp Vault support.

8.1.4 Spring Cloud Config Support

About Spring Cloud support.

8.1.5 AWS Parameter Store Support

About AWS Parameter Store support.

8.2 Service Discovery

About the service discovery function.

8.2.1 Consul Support

About Consul support.

8.2.2 Eureka Support

About Eureka support.

8.2.3 Kubernetes Support

About Kubernetes support.

8.2.4 AWS Route 53 Support

About AWS Route 53 support.

8.2.5 Manual Service Discovery Configuration

About manual setting of service discovery.

8.3 Client Side Load Balancing

About load distribution using service discovery.

8.3.1 Netflix Ribbon Support

About Netflix Ribbon support.

8.4 Distributed Tracing

About distributed tracing.

8.4.1 Tracing with Zipkin

About Zipkin support.

8.4.2 Tracing with Jaeger

About Jaeger support.

9 Serverless Functions

Chapter 9 is about supporting serverless configurations.

9.1 Writing Functions

How to implement serverless.

9.1.1 FunctionApplication

About the FunctionApplication class that defines a serverless application.

9.1.2 FunctionBean

About the @FunctionBean annotation that describes the behavior of a function.

9.1.3 Groovy Functions

How to write as a Groovy script.

9.2 Running Functions

How to execute the implemented function.

9.2.1 Functions as Web Applications

How to run as a web application.

9.2.2 Functions as CLI Applications

How to run as a CLI application.

9.3 Deploying Functions

About deploying serverless configurations.

9.3.1 Deploying Functions to AWS Lambda

About deploying to AWS Lambda environment.

9.3.2 Deploying Functions to OpenFaaS

About deploying to OpenFaaS environment.

9.4 Calling Functions with FunctionClient

About support for FunctionClient format that is called directly from the application.

10 Message-Driven Microservices

Chapter 10 is about message-driven microservices configurations.

10.1 Kafka Support

About Apache Kafka support.

10.2 RabbitMQ Support

About RabbitMQ support.

11 Standalone Command Line Applications

Chapter 11 describes how to run it as a CLI application.

11.1 Picocli Support

About Picocli support.

12 Configurations

Chapter 12 is about modules that work with commonly used components.

12.1 Configurations for Data Access

Module introduction for database access.

12.1.1 Configuring a SQL Data Source

About the configuration of SQL data source.

12.1.2 Configuring Hibernate

About Hibernate / JPA configuration.

12.1.3 Configuring MongoDB

About MongoDB configuration.

12.1.4 Configuring Neo4j

About the configuration of Neo4j Bolt Driver.

12.1.5 Configuring Postgres

About Postgres configuration.

12.1.6 Configuring Redis

About the configuration of Redis.

12.1.7 Configuring Cassandra

About the configuration of Cassandra.

12.1.8 Configuring Liquibase

About the configuration of Liquibase.

12.1.9 Configuring Flyway

About the configuration of Flyway.

13 Language Support

Chapter 13 is about support for each JVM language.

13.1 Micronaut for Java

About the Java language.

13.1.1 Using Micronaut with Java 9+

Notes on Java 9 or later.

13.1.2 Incremental Annotation Processing with Gradle

About incremental processing using Gradle.

13.1.3 Using Project Lombok

Notes on using Project Lombok.

13.1.4 Configuring an IDE

How to set when using the IDE.

13.1.5 Retaining Parameter Names

For troubleshooting problems caused by not preserving method parameter names.

13.2 Micronaut for Groovy

About the Groovy language.

13.3 Micronaut for Kotlin

About the Kotlin language.

13.3.1 Kotlin, Kapt and IntelliJ

About the combination of Kotlin and IntelliJ.

13.3.2 Incremental Annotation Processing with Gradle and Kapt

Incremental processing when using Gradle and Kapt.

13.3.3 Kotlin and AOP Advice

Points to note when implementing AOP with Kotlin.

13.3.4 Kotlin and Retaining Parameter Names

For troubleshooting problems caused by not preserving method parameter names.

13.3.5 Coroutines Support

About coroutine support.

13.4 Micronaut for GraalVM

About GraalVM.

13.4.1 Microservices as GraalVM native images

Support for GraalVM native images.

13.4.2 GraalVM and Micronaut FAQ

FAQ when using GraalVM.

14 Management & Monitoring

Chapter 14 is about the configuration of management endpoints.

14.1 Creating Endpoints

About creating a management endpoint.

14.1.1 The Endpoint Annotation

About the @Endpoint annotation that creates an endpoint.

14.1.2 Endpoint Methods

About the method to be implemented on the endpoint.

14.1.3 Endpoint Configuration

About setting the endpoint configuration.

14.2 Built-In Endpoints

Introducing embedded endpoints.

14.2.1 The Beans Endpoint

For Beans endpoints that return information about bean definitions.

14.2.2 The Info Endpoint

About Info endpoints that return static information and how to customize them.

14.2.3 The Health Endpoint

About Health endpoints that return operating status.

14.2.4 The Metrics Endpoint

About Metrics endpoints that work with Micrometer.

14.2.5 The Refresh Endpoint

About the Refresh endpoint, which updates the state of the application and reinstantiates it.

14.2.6 The Routes Endpoint

For Routing endpoints that return URI information.

14.2.7 The Loggers Endpoint

About the Loggers endpoint, which sets logger information and log levels.

14.2.8 The Caches Endpoint

About the Caches endpoint, which controls the cache in your application.

14.2.9 The Server Stop Endpoint

About the Stop endpoint that stops the server. Disabled by default.

14.2.10 The Environment Endpoint

About Environment endpoints that get environmental information.

15 Security

Chapter 15 introduces security functions.

16 Multi-Tenancy

Chapter 16 is about multi-tenancy.

16.1 Multi-Tenancy GORM

About cooperation with GORM.

17 Micronaut CLI

Chapter 17 describes the mn command used in micronaut development.

17.1 Creating a Project

About creating a project.

17.2 Profiles

About profile functions including templates.

17.2.1 Comparing Versions

How to compare versions.

17.3 Features

About features that make up additional dependencies.

17.4 Commands

About the executable commands included in the profile.

17.5 Reloading

Chapter 15 is about restarting during development (hot reload, etc.).

17.5.1 Automatic Restart

How to restart.

17.5.2 JRebel

About cooperation with JRebel.

17.5.3 Spring-Loaded

About cooperation with Spring-Loaded.

17.5.4 Reloading with Gradle

About restarting when using Gradle.

17.5.5 Reloading with an IDE

About restarting when using the IDE.

17.6 Proxy Configuration

About the operation method under the HTTP proxy environment.

18 Appendices

Chapter 18 is an appendix.

18.1 Frequently Asked Questions (FAQ)

FAQ about micronaut.

18.2 Using Snapshots

How to distribute micronaut.

18.3 Common Problems

About common problems that occur when using micronaut (troubleshooting).

18.4 Breaking Changes

About significant changes so far / in the future.

Recommended Posts

micronaut document table of contents memo
Memo: [Java] Check the contents of the directory
Let's improve our business! Table of contents
Table of contents Code refactoring and related articles
[Spigot] Table of Contents [Gran's Plugin Improvement Diary 0]
List of beginners (List) memo
Execution result memo of String.substring