Azure-Entwicklerhandbuch für Spring Cloud
Dieser Artikel gilt für:✅ Version 4.19.0 ✅ Version 5.19.0
Spring ist ein von VMware entwickeltes Open-Source-Anwendungsframework, das einen vereinfachten, modularen Ansatz zum Erstellen von Java-Anwendungen bietet. Spring Cloud Azure ist ein Open-Source-Projekt, das eine nahtlose Spring-Integration in Azure bietet.
Weitere Informationen zu unterstützten Versionen finden Sie unter Spring Versions Mapping.
Hilfe anfordern
Wenn Sie Fragen zu dieser Dokumentation haben, erstellen Sie ein GitHub-Problem in einem der folgenden GitHub-Repositorys. Pull-Anforderungen sind ebenfalls willkommen.
GitHub-Repositorys | Beschreibung |
---|---|
Azure/azure-sdk-for-java- | Dieses Repository enthält den Quellcode. |
MicrosoftDocs/azure-dev-docs | Dieses Repository enthält die Dokumentation. |
Neuerungen in 4.0 seit 3.10.x
In dieser Dokumentation werden Änderungen von 4.0 seit 3.10 behandelt. Diese Hauptversion bietet bessere Sicherheit, schlankere Abhängigkeiten, Unterstützung für die Produktionsbereitschaft und vieles mehr.
Trinkgeld
Weitere Informationen zur Migration zu 4.0 finden Sie im Migrationshandbuch für 4.0.
Die folgende Liste fasst einige der Änderungen zusammen, die Spring Cloud Azure 4.0 bereitstellt:
- Eine einheitliche Entwicklungsumgebung mit einheitlichem Projektnamen, Artefakt-ID und Eigenschaften.
- Vereinfachte Abhängigkeitsverwaltung mithilfe eines einzelnen
spring-cloud-azure-dependencies
BOM. - Erweiterte Azure-Unterstützung für Spring Initializr, um Kafka, Event Hubs, Azure Cache für Redis und Azure App-Konfiguration abzudecken.
- Neu aufgebaute Federmodulabhängigkeiten, um überschüssige Schichten und Verangle zu entfernen.
- Managed Identity-Unterstützung für Azure App-Konfiguration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Storage Blob und Storage Queue.
- Fortgesetzte Unterstützung für Authentifizierungsmethoden im zugrunde liegenden Azure SDK aus unseren Spring-Bibliotheken, z. B. SAS-Token- und Tokenanmeldeinformationenauthentifizierung mit Service Bus und Event Hubs.
- Die Anmeldeinformationskette ist jetzt standardmäßig aktiviert, sodass Anwendungen Anmeldeinformationen von Anwendungseigenschaften, Umgebungsvariablen, verwalteter Identität, IDEs usw. abrufen können. Weitere Informationen finden Sie im Abschnitt DefaultAzureCredential Abschnitt Azure Identity-Clientbibliothek für Java-.
- Präzise Zugriffssteuerung auf Ressourcenebene (z. B. ServiceBus-Warteschlange), um eine bessere Sicherheitsgovernance und Die Einhaltung von IT-Richtlinien zu ermöglichen.
- Weitere Optionen, die in spring-idiomatischer Weise durch eine verbesserte Automatische Konfigurationsabdeckung von Azure SDK-Clients für synchrone und asynchrone Szenarien verfügbar gemacht werden.
- Integritätsindikatoren für Azure App-Konfiguration, Event Hubs, Azure Cosmos DB, Key Vault, Storage Blob, Storage Queue und Storage File hinzugefügt.
- Spring Cloud Sleuth-Unterstützung für alle HTTP-basierten Azure-SDKs.
Migrationshandbuch für 4.0
Weitere Informationen zur Migration zu 4.0 finden Sie im Migrationshandbuch für 4.0.
Erste Schritte
Einrichten von Abhängigkeiten
Materialrechnung (BOM)
Wenn Sie Maven verwenden, fügen Sie die BOM zu Ihrer pom.xml Datei im Abschnitt dependencyManagement
hinzu, wie im folgenden Beispiel gezeigt. Wenn Sie die BOM verwenden, müssen Sie keine Versionen für eine der Maven-Abhängigkeiten angeben, da die Versionsverwaltung an die BOM delegiert wird.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.19.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Mit Gradle können Sie die spring-cloud-azure-dependencies
BOM wie folgt importieren:
Verwenden Sie die native BOM-Unterstützung von Gradle, indem Sie Abhängigkeiten hinzufügen, wie im folgenden Beispiel gezeigt:
import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id("java") id("org.springframework.boot") version "3.2.O" } dependencies { implementation(platform(SpringBootPlugin.BOM_COORDINATES)) implementation(platform("com.azure.spring:spring-cloud-azure-dependencies:{version}")) }
Verwenden Sie das plug-In
io.spring.dependency-management
, und importieren Sie die BOM independencyManagement
, wie im folgenden Beispiel gezeigt:plugins { id("io.spring.dependency-management") version "1.1.0" } dependencyManagement { imports { mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}") } }
Weitere Informationen finden Sie im Spring Boot Gradle Plugin Reference Guide.
Anmerkung
Wenn Sie Spring Boot 2.x verwenden, müssen Sie unbedingt die spring-cloud-azure-dependencies
Version auf 4.19.0
festlegen.
Diese Stückliste (Bill of Material, BOM) sollte im Abschnitt <dependencyManagement>
Ihrer pom.xml Datei konfiguriert werden. Dadurch wird sichergestellt, dass alle Spring Cloud Azure-Abhängigkeiten dieselbe Version verwenden.
Weitere Informationen zu der version, die für diese BOM verwendet wird, finden Sie unter Welche Version von Spring Cloud Azure sollte ichverwenden.
Startabhängigkeiten
Spring Cloud Azure Starters sind eine Reihe praktischer Abhängigkeitsdeskriptoren, die in Ihre Anwendung aufgenommen werden sollen. Jeder Starter enthält alle Abhängigkeiten und transitiven Abhängigkeiten, die erforderlich sind, um mit der Verwendung ihres entsprechenden Spring Cloud Azure-Moduls zu beginnen. Diese Starter steigern Ihre Spring Boot-Anwendungsentwicklung mit Azure-Diensten.
Wenn Sie beispielsweise spring und Azure Cosmos DB für die Datenpersistenz verwenden möchten, fügen Sie die spring-cloud-azure-starter-cosmos
Abhängigkeit in Ihr Projekt ein.
In der folgenden Tabelle sind Anwendungsstarter aufgeführt, die von Spring Cloud Azure unter der Gruppe com.azure.spring
bereitgestellt werden:
Name | Beschreibung |
---|---|
spring-cloud-azure-starter | Der Hauptstarter, einschließlich Unterstützung für die automatische Konfiguration. |
spring-cloud-azure-starter-active-directory | Der Start für die Verwendung von Microsoft Entra ID mit Spring Security. |
spring-cloud-azure-starter-active-directory-b2c | Der Start für die Verwendung von Azure Active Directory B2C mit Spring Security. |
spring-cloud-azure-starter-appconfiguration | Der Start für die Verwendung der Azure-App-Konfiguration. |
spring-cloud-azure-starter-cosmos | Der Start für die Verwendung von Azure Cosmos DB. |
spring-cloud-azure-starter-eventhubs | Der Start für die Verwendung von Azure Event Hubs. |
spring-cloud-azure-starter-keyvault | Der Starter für die Verwendung von Azure Key Vault. |
spring-cloud-azure-starter-keyvault-secrets | Der Start für die Verwendung von Azure Key Vault Secrets. |
spring-cloud-azure-starter-keyvault-certificates | Der Start für die Verwendung von Azure Key Vault-Zertifikaten. |
spring-cloud-azure-starter-servicebus | Der Start für die Verwendung von Azure Service Bus. |
spring-cloud-azure-starter-servicebus-jms | Der Start für die Verwendung von Azure Service Bus und JMS. |
spring-cloud-azure-starter-storage | Der Start für die Verwendung von Azure Storage. |
spring-cloud-azure-starter-storage-blob | Der Start für die Verwendung von Azure Storage Blob. |
spring-cloud-azure-starter-storage-file-share | Der Start für die Verwendung der Azure Storage File Share. |
spring-cloud-azure-starter-storage-queue | Der Start für die Verwendung der Azure Storage-Warteschlange. |
spring-cloud-azure-starter-aktor | Der Starter für die Verwendung des Spring Boot Stellglieds, das Produktionsfertige bietet. |
In der folgenden Tabelle sind Die Starter für die Spring Data-Unterstützung aufgeführt:
Name | Beschreibung |
---|---|
spring-cloud-azure-starter-data-cosmos | Der Start für die Verwendung von Spring Data für Azure Cosmos DB. |
In der folgenden Tabelle sind die Starter für die Unterstützung der Spring-Integration aufgeführt:
Name | Beschreibung |
---|---|
spring-cloud-azure-starter-integration-eventhubs | Der Start für die Verwendung von Azure Event Hubs und Spring Integration. |
spring-cloud-azure-starter-integration-servicebus | Der Start für die Verwendung von Azure Service Bus und Spring Integration. |
spring-cloud-azure-starter-integration-storage-queue | Der Start für die Verwendung von Azure Storage Queue und Spring Integration. |
In der folgenden Tabelle sind Die Starter für spring Cloud Stream-Unterstützung aufgeführt:
Name | Beschreibung |
---|---|
spring-cloud-azure-starter-stream-eventhubs | Die Starter für die Verwendung von Azure Event Hubs und Spring Cloud Stream Binder. |
spring-cloud-azure-starter-stream-servicebus | Der Start für die Verwendung von Azure Service Bus und Spring Cloud Stream Binder. |
In der folgenden Tabelle sind Die Starter für die MySQL-Unterstützung aufgeführt:
Name | Beschreibung |
---|---|
spring-cloud-azure-starter-platform-mysql | Die Starter für die Verwendung von Azure MySQLs und AKTIONEN über die Microsoft Entra-Authentifizierung. |
In der folgenden Tabelle sind Die Starter für die PostgreSQL-Unterstützung aufgeführt:
Name | Beschreibung |
---|---|
spring-cloud-azure-starter-servers-postgresql | Die Starter für die Verwendung von Azure PostgreSQL und AKTIONEN über die Microsoft Entra-Authentifizierung. |
Konfigurieren von Spring Boot 3
Azure SDK-JARs erfordern die Signaturüberprüfung. Spring Boot 3 unterstützt jedoch die ÜBERPRÜFUNG der JAR-Signatur für den AOT-Modus (Ahead-of-Time) auf einem JVM und für systemeigene Images nicht. Weitere Informationen finden Sie unter Using Ahead-of-Time Processing With the JVM and GraalVM Native Image Support.
Um dieses Problem zu beheben, deaktivieren Sie die ÜBERPRÜFUNG der JAR-Signatur.
Erstellen Sie eine datei custom.security in src/main/resources mit folgendem Inhalt:
jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
Wenn Sie Maven verwenden, fügen Sie die folgende Konfiguration hinzu:
<plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> <configuration> <buildArgs> <arg>-Djava.security.properties=src/main/resources/custom.security</arg> </buildArgs> </configuration> </plugin>
Wenn Sie Gradle verwenden, fügen Sie die folgende Konfiguration hinzu:
graalvmNative { binaries { main { buildArgs('-Djava.security.properties=' + file("$rootDir/custom.security").absolutePath) } } }
Learning Spring Cloud Azure
Eine vollständige Liste der Beispiele, die die Verwendung zeigen, finden Sie unter Spring Cloud Azure Samples.