Utvecklarguide för Spring Cloud Azure
Den här artikeln gäller för:✅ version 4.19.0 ✅ version 5.19.0
Spring är ett programramverk med öppen källkod som utvecklats av VMware och som ger en förenklad, modulär metod för att skapa Java-program. Spring Cloud Azure är ett projekt med öppen källkod som ger sömlös Spring-integrering med Azure.
Mer information om versioner som stöds finns i Spring Versions Mapping.
Få hjälp
Om du har frågor om den här dokumentationen skapar du ett GitHub-problem i någon av följande GitHub-lagringsplatser. Pull-begäranden är också välkomna.
GitHub-lagringsplatser | Beskrivning |
---|---|
Azure/azure-sdk-for-java | Den här lagringsplatsen innehåller källkoden. |
MicrosoftDocs/azure-dev-docs | Den här lagringsplatsen innehåller dokumentationen. |
Nyheter i 4.0 sedan 3.10.x
Den här dokumentationen beskriver ändringar som gjorts i 4.0 sedan 3.10. Den här stora versionen ger bättre säkerhet, smalare beroenden, stöd för produktionsberedskap med mera.
Dricks
Mer information om hur du migrerar till 4.0 finns i Migreringsguide för 4.0.
I följande lista sammanfattas några av de ändringar som Spring Cloud Azure 4.0 tillhandahåller:
- En enhetlig utvecklingsupplevelse med enhetligt projektnamn, artefakt-ID och egenskaper.
- Förenklad beroendehantering med en enda
spring-cloud-azure-dependencies
bom. - Utökat Azure-stöd på Spring Initializr- för att täcka Kafka, Event Hubs, Azure Cache for Redis och Azure App Configuration.
- Omskapade Spring-modulberoenden för att ta bort överflödiga lager och sammanflätning.
- Stöd för hanterad identitet för Azure App Configuration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Storage Blob och Storage Queue.
- Fortsatt stöd för autentiseringsmetoder i underliggande Azure SDK från våra Spring-bibliotek, till exempel SAS-token och tokenautentisering med Service Bus och Event Hubs.
- Autentiseringskedjan är nu aktiverad som standard, vilket gör det möjligt för program att hämta autentiseringsuppgifter från programegenskaper, miljövariabler, hanterad identitet, IDE:er och så vidare. Mer information finns i avsnittet DefaultAzureCredential i Azure Identity-klientbiblioteket för Java.
- Detaljerad åtkomstkontroll på resursnivå (till exempel Service Bus-kö) för bättre säkerhetsstyrning och efterlevnad av IT-principer.
- Fler alternativ som exponeras på ett Spring-idiomatiskt sätt genom förbättrad automatisk konfiguration av Azure SDK-klienter för både synkrona och asynkrona scenarier.
- Hälsoindikatorer har lagts till för Azure App Configuration, Event Hubs, Azure Cosmos DB, Key Vault, Storage Blob, Storage Queue och Storage File.
- Spring Cloud Sleuth-stöd för alla HTTP-baserade Azure SDK:er.
Migreringsguide för 4.0
Mer information om hur du migrerar till 4.0 finns i Migreringsguide för 4.0.
Komma igång
Konfigurera beroenden
Strukturliste (BOM)
Om du använder Maven lägger du till bommen i din pom.xml-fil i avsnittet dependencyManagement
, som du ser i följande exempel. När du använder strukturlistan behöver du inte ange versioner för något av Maven-beroendena eftersom versionshantering delegeras till bommen.
<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>
Med Gradle kan du importera spring-cloud-azure-dependencies
bom på följande sätt:
Använd Gradles inbyggda strukturlistestöd genom att lägga till beroenden enligt följande exempel:
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}")) }
Använd plugin-programmet
io.spring.dependency-management
och importera bommen idependencyManagement
, som du ser i följande exempel:plugins { id("io.spring.dependency-management") version "1.1.0" } dependencyManagement { imports { mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}") } }
Mer information finns i referensguiden för Spring Boot Gradle Plugin.
Not
Om du använder Spring Boot 2.x måste du ange spring-cloud-azure-dependencies
version till 4.19.0
.
Den här strukturlistan (BOM) bör konfigureras i avsnittet <dependencyManagement>
i din pom.xml-fil. Detta säkerställer att alla Spring Cloud Azure-beroenden använder samma version.
Mer information om vilken version som används för den här strukturlistan finns i Vilken version av Spring Cloud Azure ska jag använda.
Startberoenden
Spring Cloud Azure Starters är en uppsättning praktiska beroendebeskrivningar som ska ingå i ditt program. Varje starter innehåller alla beroenden och transitiva beroenden som behövs för att börja använda motsvarande Spring Cloud Azure-modul. Dessa startprogram ökar din Spring Boot-programutveckling med Azure-tjänster.
Om du till exempel vill komma igång med Spring och Azure Cosmos DB för datapersistence kan du inkludera spring-cloud-azure-starter-cosmos
beroende i projektet.
I följande tabell visas startprogram som tillhandahålls av Spring Cloud Azure under gruppen com.azure.spring
:
Namn | Beskrivning |
---|---|
spring-cloud-azure-starter | Core Starter, inklusive stöd för automatisk konfiguration. |
spring-cloud-azure-starter-active-directory | Startprogrammet för att använda Microsoft Entra-ID med Spring Security. |
spring-cloud-azure-starter-active-directory-b2c | Startprogrammet för att använda Azure Active Directory B2C med Spring Security. |
spring-cloud-azure-starter-appconfiguration | Startprogrammet för att använda Azure App Configuration. |
spring-cloud-azure-starter-cosmos | Startprogrammet för att använda Azure Cosmos DB. |
spring-cloud-azure-starter-eventhubs | Startprogrammet för att använda Azure Event Hubs. |
spring-cloud-azure-starter-keyvault | Startprogrammet för att använda Azure Key Vault. |
spring-cloud-azure-starter-keyvault-secrets | Startprogrammet för att använda Azure Key Vault-hemligheter. |
spring-cloud-azure-starter-keyvault-certificates | Startprogrammet för att använda Azure Key Vault-certifikat. |
spring-cloud-azure-starter-servicebus | Startprogrammet för att använda Azure Service Bus. |
spring-cloud-azure-starter-servicebus-jms | Startprogrammet för att använda Azure Service Bus och JMS. |
spring-cloud-azure-starter-storage | Startprogrammet för att använda Azure Storage. |
spring-cloud-azure-starter-storage-blob | Startprogrammet för att använda Azure Storage Blob. |
spring-cloud-azure-starter-storage-file-share | Startprogrammet för att använda Azure Storage-filresurs. |
spring-cloud-azure-starter-storage-queue | Startprogrammet för att använda Azure Storage Queue. |
spring-cloud-azure-starter-actuator | Startprogrammet för att använda Spring Boot-ställdonet, som tillhandahåller produktionsklara funktioner. |
I följande tabell visas startpunkter för Spring Data-stöd:
Namn | Beskrivning |
---|---|
spring-cloud-azure-starter-data-cosmos | Startprogrammet för att använda Spring Data för Azure Cosmos DB. |
I följande tabell visas startpunkter för Spring Integration-stöd:
Namn | Beskrivning |
---|---|
spring-cloud-azure-starter-integration-eventhubs | Startprogrammet för att använda Azure Event Hubs och Spring Integration. |
spring-cloud-azure-starter-integration-servicebus | Startprogrammet för att använda Azure Service Bus och Spring Integration. |
spring-cloud-azure-starter-integration-storage-queue | Startprogrammet för att använda Azure Storage Queue och Spring Integration. |
I följande tabell visas startpunkter för Spring Cloud Stream-stöd:
Namn | Beskrivning |
---|---|
spring-cloud-azure-starter-stream-eventhubs | Startfunktionerna för att använda Azure Event Hubs och Spring Cloud Stream Binder. |
spring-cloud-azure-starter-stream-servicebus | Startprogrammet för att använda Azure Service Bus och Spring Cloud Stream Binder. |
I följande tabell visas startpunkter för MySQL-stöd:
Namn | Beskrivning |
---|---|
spring-cloud-azure-starter-jdbc-mysql | Startfunktionerna för att använda Azure MySQLs och JDBC via Microsoft Entra-autentisering. |
I följande tabell visas startpunkter för PostgreSQL-stöd:
Namn | Beskrivning |
---|---|
spring-cloud-azure-starter-jdbc-postgresql | Startfunktionerna för att använda Azure PostgreSQL och JDBC via Microsoft Entra-autentisering. |
Konfigurera Spring Boot 3
Azure SDK JAR:er kräver signaturverifiering. Spring Boot 3 stöder dock inte JAR-signaturverifieringen för AOT-läge (i förväg) på en JVM och för interna avbildningar. Mer information finns i Using Ahead-of-time Processing With the JVM and GraalVM Native Image Support.
Lös problemet genom att inaktivera verifieringen av JAR-signaturen.
Skapa en custom.security-fil i src/main/resources med följande innehåll:
jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
Om du använder Maven lägger du till följande konfiguration:
<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>
Om du använder Gradle lägger du till följande konfiguration:
graalvmNative { binaries { main { buildArgs('-Djava.security.properties=' + file("$rootDir/custom.security").absolutePath) } } }
Learning Spring Cloud Azure
En fullständig lista över exempel som visar användning finns i Spring Cloud Azure Samples.