Dela via


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 i dependencyManagement, 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.

  1. Skapa en custom.security-fil i src/main/resources med följande innehåll:

    jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
    
  2. 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.