Ein Hinweis dazu, wo im Micronaut-Benutzerhandbuch (http://docs.micronaut.io/latest/guide/index.html) zu lesen ist. Das Ziel ist das Dokument von Version 1.3.4.
1 Introduction
Sogenannte "Erklärung". Es gibt eine Erklärung des Hintergrunds.
1.1 What's New?
Ändern Sie den Verlauf gegenüber der vorherigen Version. Es gibt eine Beschreibung der abhängigen Bibliothek.
2 Quick Start
In Kapitel 2 wird das Verfahren zum Erstellen einer Hello World-App erläutert.
2.1 Build/Install the CLI
Erläuterung verschiedener Installationsmethoden.
2.1.1 Install with Sdkman
Ausgelassen.
2.1.2 Install with Homebrew
Ausgelassen.
2.1.3 Install with MacPorts
Ausgelassen.
2.1.4 Install through Binary on Windows
Ausgelassen.
2.1.5 Building from Source
Ausgelassen.
2.2 Creating a Server Application
Das Verfahren zum Erstellen einer Anwendung wird der Reihe nach erläutert.
Es gibt eine einfache Controller-Quelle und eine Beschreibung der Annotationen @ Controller
und @ Get
.
2.3 Setting up an IDE
Nicht nur die Erklärung jeder IDE, sondern auch die Erklärung der Hauptklasse.
2.4 Creating a Client
Ein Beispiel für die Verwendung der HTTP-Client-Funktion von Micronaut. Erläutern Sie jede Funktion beim Erstellen einer Testklasse.
2.5 Deploying the Application
So erstellen Sie eine ausführbare JAR-Datei. Insbesondere eine der folgenden Möglichkeiten.
./gradlew assemble
./mvnw package
3 Inversion of Control
In Kapitel 3 geht es darum, wie man sogenannte DI realisiert.
3.1 Defining Beans
Beispiel für eine Bohnendefinition.
3.2 How Does it Work?
Eine Erklärung, wie die Bohne hinter den Kulissen funktioniert.
3.3 The BeanContext
Eine Übersicht über die BeanContext-Oberfläche.
3.4 Injectable Container Types
Es gibt eine Liste, wie man mit Bohnen umgeht.
3.5 Bean Qualifiers
Wie man eine Bohne wählt.
--Namentlich
3.6 Scopes
Über den Umfang (Überlebensbereich) der Bohne.
3.6.1 Built-In Scopes
Standardbereichstabelle.
3.6.2 Refreshable Scope
Informationen zum Bereich "@ Refreshable", der jederzeit gelöscht werden kann.
3.6.3 Scopes on Meta Annotations
So legen Sie den Bereich fest.
3.7 Bean Factories
Informationen zur Annotation "@ Factory", mit der eine Bean erstellt wird, und zur Bedingung, die null zurückgeben kann.
3.8 Conditional Beans
Informationen zur Annotation "@ Requires", mit der die Bedingungen festgelegt werden. Debuggen der bedingten Bean-Generierung.
3.9 Bean Replacement
Informationen zur Annotation "@ Replaces", die Beans ersetzt.
Erklärt @ DefaultImplementation
, das die Implementierung als Verwendungsbeispiel empfiehlt.
3.10 Bean Configurations
Informationen zur Annotation "@ Configuration", mit der Beans gruppiert werden.
3.11 Life-Cycle Methods
Informationen zu den Annotationen "@ PostConstruct" und "@ PreDestroy", die ausgeführt werden, wenn eine Bean erstellt / zerstört wird.
3.12 Context Events
Informationen zum Ereignismechanismus, der als Pub / Sub verwendet werden kann.
3.13 Bean Events
Über BeanInitializedEventListener
, BeanCreatedEventListener
für eine genauere Kontrolle vor und nach @ PostConstruct
.
3.14 Bean Introspection
Informationen zum Verhalten der Introspector-Klasse zum Abrufen von Informationen zur Klasse.
3.15 Bean Validation
Informationen zur Bean-Validierung. Beachten Sie, dass der Mikronaut-Standard die Validierung unterstützt, jedoch nicht vollständig konform ist.
3.16 Bean Annotation Metadata
Informationen zur Erweiterung der Anmerkung.
3.17 Micronaut Beans And Spring
Über die Zusammenarbeit mit Spring.
3.18 Android Support
Über die Android-Entwicklung.
4 Application Configuration
In Kapitel 4 geht es um die Anwendungskonfiguration und das Übergeben von Einstellungen.
4.1 The Environment
Über grundlegende Mittel durch Umgebungsvariablen.
4.2 Externalized Configuration with PropertySources
Informationen zur Methode mit PropertySources
.
4.3 Configuration Injection
Über die Referenz durch die Annotation "@ Value".
4.4 Configuration Properties
Informationen zur Annotation "@ ConfigurationProperties", die typsichere Einstellungen bietet.
4.5 Custom Type Converters
Informationen zur TypeConverter-Klasse zur Unterstützung proprietärer Formate.
4.6 Using @EachProperty
to Drive Configuration
Informationen zur Realisierung der individuellen Einstellung durch die Annotation "@ EachProperty".
4.7 Using @EachBean
to Drive Configuration
Informationen zum Wechseln von Beans mit der Annotation "@ EachBean".
4.8 Immutable Configuration
Über unveränderliche Unterstützung.
4.9 JMX Support
Informationen zu JMX (Java Management Extensions).
5 Aspect Oriented Programming
Kapitel 5 befasst sich mit AOP (Aspect Oriented Programming).
5.1 Around Advice
Über "Around Advice" und wie man Ratschläge schreibt. Als Beispiel gibt es eine Beschreibung der Annotation "@ Stub", mit der der Stub-Wert festgelegt wird.
5.2 Introduction Advice
Über den "Einführungshinweis" in dem Formular, das die Implementierung bereitstellt.
5.3 Method Adapter Advice
Über Method Adapter Advice
, um sich für eine Methode zu qualifizieren.
Ein Beispiel ist die Annotation "@ EventListener".
5.4 Validation Advice
Informationen zur Validierung. Siehe JSR 380 für Details.
5.5 Cache Advice
Informationen zu "Cache-Hinweisen", die den Cache und den Caching-Mechanismus steuern.
5.6 Retry Advice
Informationen zu "Wiederholungshinweisen" zur Kontrolle von Wiederholungsversuchen.
Zum Beispiel die Annotationen @ Retryable
und @ CircuitBreaker
.
5.7 Scheduled Tasks
Informationen zur Annotation "@ Scheduled", mit der Hintergrundaufgaben geplant und Hintergrundaufgaben gesteuert werden können.
5.8 Bridging Spring AOP
Über die Zusammenarbeit mit Spring AOP.
6 The HTTP Server
Kapitel 6 befasst sich mit der Zusammenarbeit mit dem HTTP-Server.
6.1 Running the Embedded Server
Über den eingebetteten Server.
6.2 Running Server on a Specific Port
Informationen zum Festlegen der Portnummer des eingebetteten Servers.
6.3 HTTP Routing
Informationen zum Festlegen des URI-Pfads.
6.4 Simple Request Binding
Informationen zu URI-Parametern und Cookie-Bindungen.
6.5 Host Resolution
So erhalten Sie den Hostnamen.
6.6 Client IP Address
So erhalten Sie die Client-IP-Adresse.
6.7 The HttpRequest and HttpResponse
Weitere Informationen zu HTTP-Anforderungsinformationen.
6.8 Response Status
Informationen zum HTTP-Antwortcode.
6.9 Response Content-Type
So legen Sie den Inhaltstyp der Antwort fest.
6.10 Accepted Request Content-Type
Festlegen des Inhaltstyps der Anforderung.
6.11 Reactive HTTP Request Processing
Über reaktive Verarbeitung.
6.11.1 Using the @Body
Annotation
Informationen zur Annotation "@ Body", mit der die Daten empfangen werden.
6.11.2 Reactive Responses
So geben Sie die Antwort zurück.
6.12 JSON Binding with Jackson
Umgang mit JSON.
6.13 Data Validation
Informationen zur Validierung.
6.14 Serving Static Resources
Informationen zu statischen Ressourcen.
6.15 Error Handling
Informationen zur Fehlerbehandlung und Ausnahmebehandlung.
6.16 API Versioning
Informationen zur API-Versionsverwaltung.
6.17 Handling Form Data
Informationen zur Verarbeitung von Formulardaten.
6.18 Writing Response Data
So geben Sie eine Antwort zurück, insbesondere nicht blockierende E / A.
6.19 File Uploads
Informationen zum Hochladen von Dateien.
6.20 File Transfers
So senden Sie eine Datei.
6.21 HTTP Filters
Informationen zu HTTP-Filtern.
6.22 HTTP Sessions
So verwalten Sie Sitzungen.
6.23 Server Sent Events
Verwendung des Server-Sendeereignisses.
6.24 WebSocket Support
Eine Übersicht über die Unterstützung von "WebSocket".
6.24.1 Using @ServerWebSocket
Informationen zu "@ ServerWebSocket", das dem URI zugeordnet ist.
6.24.2 Using @ClientWebSocket
Die Mikronautenseite handelt von "@ ClientWebSocket", einem Client.
6.25 Server Events
Informationen zu Serverereignissen und ihren Listenern.
6.26 Configuring the HTTP Server
Informationen zu den Einstellungen des HTTP-Servers.
6.26.1 Configuring Server Thread Pools
Informationen zur Thread-Konfiguration des HTTP-Servers.
6.26.2 Configuring CORS
Informationen zu CORS (Cross Origin Resource Sharing).
6.26.3 Securing the Server with HTTPS
Informationen zur HTTPS-Unterstützung und zur Verwendung von Zertifikaten.
6.26.4 Enabling HTTP and HTTPS
Informationen zum Aktivieren von HTTP / HTTPS.
6.27 Server Side View Rendering
Einführung in das serverseitige Rendern.
6.28 OpenAPI / Swagger Support
Einführung der Zusammenarbeit mit OpenAPI.
6.29 GraphQL Support
Einführung in die GraphQL-Unterstützung.
7 The HTTP Client
Kapitel 7 befasst sich mit der integrierten HTTP-Client-Funktion.
7.1 Using the Low-Level HTTP Client
Es gibt eine Grundfunktion HttpClient
Schnittstelle und einen Flowable`` RxHttpClient
.
7.1.1 Sending your first HTTP request
Erläuterung der grundlegenden Verwendung und der Debugging-Methode.
7.1.2 Posting a Request Body
So senden Sie eine Anfrage. Einführung der URI-Vorlagenfunktion zur Parametrisierung eines Teils.
7.1.3 Multipart Client Uploads
So senden Sie eine mehrteilige Anfrage.
7.1.4 Streaming JSON over HTTP
Informationen zur Streaming-Kommunikation.
7.1.5 Configuring HTTP clients
Informationen zu den Einstellungen des HTTP-Clients.
7.1.6 Error Responses
Eine "HttpClientResponseException" -Ausnahme wird ausgelöst, wenn mehr als 400 Antworten zurückgegeben werden.
7.1.7 Bind Errors
Informationen zum Anforderungsbindungsfehler.
7.2 Declarative HTTP Clients with @Client
Informationen zum Clientverhalten mithilfe der Annotation "@ Client".
7.2.1 Customizing Parameter Binding
Informationen zur Parameterbindung.
7.2.2 Streaming with @Client
Informationen zur Streaming-Client-Verarbeitung.
7.2.3 Error Responses
Informationen zum Umgang mit Kommunikationsfehlern.
7.2.4 Customizing Request Headers
So passen Sie den Anforderungsheader an.
7.2.5 Customizing Jackson Settings
Wie man Jackson einrichtet.
7.2.6 Retry and Circuit Breaker
Informationen zur Wiederholungskontrolle.
7.2.7 Client Fallbacks
Informationen zum Fallback-Mechanismus bei Auftreten eines Fehlers.
7.2.8 Netflix Hystrix Support
Informationen zur Fehlertoleranzunterstützung.
7.3 HTTP Client Filters
Informationen zum HTTP-Filter als Client.
7.4 HTTP Client Sample
Ein Beispiel finden Sie im Tutorial.
8 Cloud Native Features
Kapitel 8 befasst sich mit der Cloud-Unterstützung.
8.1 Cloud Configuration
Informationen zur unterstützten Umgebung.
8.1.1 Distributed Configuration
Informationen zum Teilen in verteilten Microservices.
8.1.2 HashiCorp Consul Support
Informationen zur Unterstützung des HashiCorp-Konsuls.
8.1.3 HashiCorp Vault Support
Informationen zur Unterstützung von HashiCorp Vault.
8.1.4 Spring Cloud Config Support
Informationen zur Unterstützung von Spring Cloud.
8.1.5 AWS Parameter Store Support
Informationen zur Unterstützung von AWS Parameter Store.
8.2 Service Discovery
Informationen zur Serviceerkennungsfunktion.
8.2.1 Consul Support
Informationen zur Konsulunterstützung.
8.2.2 Eureka Support
Über die Unterstützung von Eureka.
8.2.3 Kubernetes Support
Informationen zur Unterstützung von Kubernetes.
8.2.4 AWS Route 53 Support
Informationen zur Unterstützung von AWS Route 53.
8.2.5 Manual Service Discovery Configuration
Informationen zur manuellen Einstellung der Serviceerkennung.
8.3 Client Side Load Balancing
Informationen zur Lastverteilung mithilfe der Diensterkennung.
8.3.1 Netflix Ribbon Support
Informationen zur Unterstützung von Netflix Ribbon.
8.4 Distributed Tracing
Informationen zur verteilten Ablaufverfolgung.
8.4.1 Tracing with Zipkin
Über die Unterstützung von Zipkin.
8.4.2 Tracing with Jaeger
Über Jaeger-Unterstützung.
9 Serverless Functions
In Kapitel 9 geht es um die Unterstützung serverloser Konfigurationen.
9.1 Writing Functions
So implementieren Sie serverlos.
9.1.1 FunctionApplication
Informationen zur Klasse "FunctionApplication", die eine Anwendung ohne Server definiert.
9.1.2 FunctionBean
Informationen zur Annotation @ FunctionBean
, die das Verhalten einer Funktion beschreibt.
9.1.3 Groovy Functions
Wie schreibe ich als Groovy-Skript?
9.2 Running Functions
So führen Sie die implementierte Funktion aus.
9.2.1 Functions as Web Applications
So führen Sie eine Webanwendung aus.
9.2.2 Functions as CLI Applications
So führen Sie eine CLI-Anwendung aus
9.3 Deploying Functions
Informationen zum Bereitstellen serverloser Konfigurationen.
9.3.1 Deploying Functions to AWS Lambda
Informationen zur Bereitstellung in einer AWS Lambda-Umgebung.
9.3.2 Deploying Functions to OpenFaaS
Informationen zur Bereitstellung in einer OpenFaaS-Umgebung.
9.4 Calling Functions with FunctionClient
Informationen zur Unterstützung des FunctionClient-Formats, das direkt von der Anwendung aufgerufen wird.
10 Message-Driven Microservices
Kapitel 10 befasst sich mit nachrichtengesteuerten Microservice-Konfigurationen.
10.1 Kafka Support
Über die Unterstützung von Apache Kafka.
10.2 RabbitMQ Support
Informationen zur Unterstützung von Rabbit MQ.
11 Standalone Command Line Applications
In Kapitel 11 wird beschrieben, wie Sie als CLI-Anwendung arbeiten.
11.1 Picocli Support
Informationen zur Picocli-Unterstützung.
12 Configurations
Kapitel 12 befasst sich mit Kooperationsmodulen mit häufig verwendeten Komponenten.
12.1 Configurations for Data Access
Einführung in Module für den Datenbankzugriff.
12.1.1 Configuring a SQL Data Source
Informationen zur Konfiguration der SQL-Datenquelle.
12.1.2 Configuring Hibernate
Informationen zur Konfiguration von Hibernate / JPA.
12.1.3 Configuring MongoDB
Über die Konfiguration von MongoDB.
12.1.4 Configuring Neo4j
Informationen zur Konfiguration des Neo4j-Schraubentreibers.
12.1.5 Configuring Postgres
Über die Konfiguration von Postgres.
12.1.6 Configuring Redis
Über die Zusammensetzung von Redis.
12.1.7 Configuring Cassandra
Über die Konfiguration von Cassandra.
12.1.8 Configuring Liquibase
Informationen zur Konfiguration von Liquibase.
12.1.9 Configuring Flyway
Über die Konfiguration von Flyway.
13 Language Support
In Kapitel 13 geht es um die Unterstützung jeder JVM-Sprache.
13.1 Micronaut for Java
Über die Java-Sprache.
13.1.1 Using Micronaut with Java 9+
Hinweise zu Java 9 oder höher.
13.1.2 Incremental Annotation Processing with Gradle
Inkrementelle Verarbeitung mit Gradle.
13.1.3 Using Project Lombok
Hinweise zur Verwendung von Project Lombok.
13.1.4 Configuring an IDE
Festlegen bei Verwendung der IDE.
13.1.5 Retaining Parameter Names
Informationen zur Fehlerbehebung bei Problemen, die dadurch verursacht werden, dass die Namen der Methodenparameter nicht beibehalten werden.
13.2 Micronaut for Groovy
Über die Groovy-Sprache.
13.3 Micronaut for Kotlin
Über die Kotlin-Sprache.
13.3.1 Kotlin, Kapt and IntelliJ
Über die Kombination von Kotlin und IntelliJ.
13.3.2 Incremental Annotation Processing with Gradle and Kapt
Inkrementelle Verarbeitung bei Verwendung von Gradle und Kapt.
13.3.3 Kotlin and AOP Advice
Zu beachtende Punkte bei der Implementierung von AOP mit Kotlin.
13.3.4 Kotlin and Retaining Parameter Names
Informationen zur Fehlerbehebung bei Problemen, die dadurch verursacht werden, dass die Namen der Methodenparameter nicht beibehalten werden.
13.3.5 Coroutines Support
Informationen zur Unterstützung von Collouts.
13.4 Micronaut for GraalVM
Über GraalVM.
13.4.1 Microservices as GraalVM native images
Unterstützung für native GraalVM-Bilder.
13.4.2 GraalVM and Micronaut FAQ
FAQ bei Verwendung von GraalVM.
14 Management & Monitoring
Kapitel 14 befasst sich mit der Konfiguration von Verwaltungsendpunkten.
14.1 Creating Endpoints
Informationen zum Erstellen eines Verwaltungsendpunkts.
14.1.1 The Endpoint Annotation
Informationen zur Annotation "@ Endpoint", mit der ein Endpunkt erstellt wird.
14.1.2 Endpoint Methods
Informationen zur auf dem Endpunkt zu implementierenden Methode.
14.1.3 Endpoint Configuration
Informationen zum Festlegen der Endpunktkonfiguration.
14.2 Built-In Endpoints
Einführung integrierter Endpunkte.
14.2.1 The Beans Endpoint
Für Beans-Endpunkte, die Informationen zu Bean-Definitionen zurückgeben.
14.2.2 The Info Endpoint
Informationen zu Info-Endpunkten, die statische Informationen zurückgeben, und deren Anpassung.
14.2.3 The Health Endpoint
Für Integritätsendpunkte, die den Betriebsstatus zurückgeben.
14.2.4 The Metrics Endpoint
Informationen zu Metrikendpunkten, die mit Mikrometern funktionieren.
14.2.5 The Refresh Endpoint
Informationen zum Endpunkt Aktualisieren, der den Status der Anwendung aktualisiert und erneut instanziiert.
14.2.6 The Routes Endpoint
Für Routenendpunkte, die URI-Informationen zurückgeben.
14.2.7 The Loggers Endpoint
Informationen zu Logger-Endpunkten, die Logger-Informationen und Protokollstufen festlegen.
14.2.8 The Caches Endpoint
Informationen zum Caches-Endpunkt, der den Cache in Ihrer Anwendung steuert.
14.2.9 The Server Stop Endpoint
Informationen zum Endpunkt Stop, der den Server stoppt. Standardmäßig deaktiviert.
14.2.10 The Environment Endpoint
Informationen zu Umgebungsendpunkten, die Umgebungsinformationen abrufen.
15 Security
In Kapitel 15 werden Sicherheitsfunktionen vorgestellt.
16 Multi-Tenancy
In Kapitel 16 geht es um Mandantenfähigkeit.
16.1 Multi-Tenancy GORM
Über die Zusammenarbeit mit GORM.
17 Micronaut CLI
Kapitel 17 beschreibt den Befehl mn
, der in der Mikronaut-Entwicklung verwendet wird.
17.1 Creating a Project
Informationen zum Erstellen eines Projekts.
17.2 Profiles
Informationen zur Profilfunktion einschließlich Vorlage usw.
17.2.1 Comparing Versions
So vergleichen Sie Versionen.
17.3 Features
Informationen zu Funktionen, die zusätzliche Abhängigkeiten ausmachen.
17.4 Commands
Informationen zu den im Profil enthaltenen ausführbaren Befehlen.
17.5 Reloading
In Kapitel 15 geht es um einen Neustart während der Entwicklung (Hot-Reload usw.).
17.5.1 Automatic Restart
So starten Sie neu.
17.5.2 JRebel
Über die Zusammenarbeit mit JRebel.
17.5.3 Spring-Loaded
Über die Zusammenarbeit mit Spring-Loaded.
17.5.4 Reloading with Gradle
Informationen zum Neustart bei Verwendung von Gradle.
17.5.5 Reloading with an IDE
Informationen zum Neustart bei Verwendung von IDE.
17.6 Proxy Configuration
Informationen zur Betriebsmethode in der HTTP-Proxy-Umgebung.
18 Appendices
Kapitel 18 ist ein Anhang.
18.1 Frequently Asked Questions (FAQ)
FAQ über Mikronaut.
18.2 Using Snapshots
Wie verteilt man Mikronaut.
18.3 Common Problems
Häufige Probleme bei der Verwendung von Mikronaut (Fehlerbehebung).
18.4 Breaking Changes
Über wesentliche Änderungen bisher / in der Zukunft.
Recommended Posts