Delen via


Ontwikkelaarshandleiding voor Spring Cloud Azure

Dit artikel is van toepassing op:✅ versie 4.19.0 ✅ versie 5.19.0

Spring is een opensource-toepassingsframework dat is ontwikkeld door VMware en biedt een vereenvoudigde, modulaire benadering voor het maken van Java-toepassingen. Spring Cloud Azure is een opensource-project dat naadloze Spring-integratie met Azure biedt.

Zie Spring Versions Mappingvoor meer informatie over ondersteunde versies.

Hulp krijgen

Als u vragen hebt over deze documentatie, maakt u een GitHub-probleem in een van de volgende GitHub-opslagplaatsen. Pull-aanvragen zijn ook welkom.

GitHub-opslagplaatsen Beschrijving
Azure/azure-sdk-for-java- Deze opslagplaats bevat de broncode.
MicrosoftDocs/azure-dev-docs Deze opslagplaats bevat de documentatie.

Wat is er nieuw in 4.0 sinds 3.10.x

Deze documentatie bevat informatie over wijzigingen die zijn aangebracht in 4.0 sinds 3.10. Deze grote release biedt betere beveiliging, leaner afhankelijkheden, ondersteuning voor productiegereedheid en meer.

Fooi

Zie Migratiehandleiding voor 4.0voor meer informatie over migreren naar 4.0.

De volgende lijst bevat een overzicht van enkele van de wijzigingen die Spring Cloud Azure 4.0 biedt:

  • Een uniforme ontwikkelervaring, met uniforme projectnaam, artefact-id en eigenschappen.
  • Vereenvoudigd afhankelijkheidsbeheer met één spring-cloud-azure-dependencies BOM.
  • Uitgebreide Azure-ondersteuning op Spring Initializr- voor Kafka, Event Hubs, Azure Cache voor Redis en Azure App Configuration.
  • Opnieuw gearchitecteerde Spring-moduleafhankelijkheden om overtollige lagen en verstrengeling te verwijderen.
  • Ondersteuning voor beheerde identiteiten voor Azure App Configuration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Storage Blob en Storage Queue.
  • Ondersteuning voor verificatiemethoden in de onderliggende Azure SDK van onze Spring-bibliotheken, zoals SAS-token- en tokenreferentieverificatie met Service Bus en Event Hubs.
  • Referentieketen is nu standaard ingeschakeld, zodat toepassingen referenties kunnen ophalen uit toepassingseigenschappen, omgevingsvariabelen, beheerde identiteit, IDE's enzovoort. Zie de sectie DefaultAzureCredential van Azure Identity-clientbibliotheek voor Javavoor meer informatie.
  • Gedetailleerd toegangsbeheer op resourceniveau (zoals Service Bus-wachtrij) om beter beveiligingsbeheer en naleving van IT-beleid mogelijk te maken.
  • Meer opties die op een spring-idiomatische manier worden weergegeven door een verbeterde automatische configuratiedekking van Azure SDK-clients voor zowel synchrone als asynchrone scenario's.
  • Statusindicatoren toegevoegd voor Azure App Configuration, Event Hubs, Azure Cosmos DB, Key Vault, Storage Blob, Storage Queue en Storage File.
  • Spring Cloud Sleuth-ondersteuning voor alle OP HTTP gebaseerde Azure SDK's.

Migratiehandleiding voor 4.0

Zie Migratiehandleiding voor 4.0voor meer informatie over migreren naar 4.0.

Slag

Afhankelijkheden instellen

Stuklijst (stuklijst)

Als u Maven gebruikt, voegt u de bom toe aan uw pom.xml-bestand in de sectie dependencyManagement, zoals wordt weergegeven in het volgende voorbeeld. Wanneer u de BOM gebruikt, hoeft u geen versies op te geven voor een van de Maven-afhankelijkheden, omdat versiebeheer is gedelegeerd aan de bom.

<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>

Met Gradle kunt u de spring-cloud-azure-dependencies bom op de volgende manieren importeren:

  • Gebruik de systeemeigen BOM-ondersteuning van Gradle door afhankelijkheden toe te voegen, zoals wordt weergegeven in het volgende voorbeeld:

    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}"))
    }
    
  • Gebruik de io.spring.dependency-management-invoegtoepassing en importeer de bom in dependencyManagement, zoals wordt weergegeven in het volgende voorbeeld:

    plugins {
        id("io.spring.dependency-management") version "1.1.0"
    }
    
    dependencyManagement {
        imports {
            mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}")
        }
    }
    

Zie Spring Boot Gradle Plugin Reference Guidevoor meer informatie.

Notitie

Als u Spring Boot 2.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 4.19.0. Deze stuklijst (Bill of Material) moet worden geconfigureerd in de sectie <dependencyManagement> van uw pom.xml-bestand. Dit zorgt ervoor dat alle Spring Cloud Azure-afhankelijkheden dezelfde versie gebruiken. Zie Welke versie van Spring Cloud Azure moet ikgebruiken voor meer informatie over de versie die voor deze bom wordt gebruikt.

Starter-afhankelijkheden

Spring Cloud Azure Starters zijn een set handige afhankelijkheidsdescriptors die u in uw toepassing kunt opnemen. Elke starter bevat alle afhankelijkheden en transitieve afhankelijkheden die nodig zijn om de bijbehorende Spring Cloud Azure-module te gaan gebruiken. Deze starters stimuleren de ontwikkeling van uw Spring Boot-toepassing met Azure-services.

Als u bijvoorbeeld aan de slag wilt met Spring en Azure Cosmos DB voor gegevenspersistentie, neemt u de spring-cloud-azure-starter-cosmos afhankelijkheid in uw project op.

De volgende tabel bevat toepassingsstarters die door Spring Cloud Azure worden geleverd onder de com.azure.spring groep:

Naam Beschrijving
spring-cloud-azure-starter De kernstarter, inclusief ondersteuning voor automatische configuratie.
spring-cloud-azure-starter-active-directory De starter voor het gebruik van Microsoft Entra ID met Spring Security.
spring-cloud-azure-starter-active-directory-b2c De starter voor het gebruik van Azure Active Directory B2C met Spring Security.
spring-cloud-azure-starter-appconfiguration De starter voor het gebruik van Azure App Configuration.
spring-cloud-azure-starter-cosmos De starter voor het gebruik van Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs De starter voor het gebruik van Azure Event Hubs.
spring-cloud-azure-starter-keyvault De starter voor het gebruik van Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets De starter voor het gebruik van Azure Key Vault-geheimen.
spring-cloud-azure-starter-keyvault-certificates De starter voor het gebruik van Azure Key Vault-certificaten.
spring-cloud-azure-starter-servicebus De starter voor het gebruik van Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms De starter voor het gebruik van Azure Service Bus en JMS.
spring-cloud-azure-starter-storage De starter voor het gebruik van Azure Storage.
spring-cloud-azure-starter-storage-blob De starter voor het gebruik van Azure Storage Blob.
spring-cloud-azure-starter-storage-file-share De starter voor het gebruik van Azure Storage-bestandsshare.
spring-cloud-azure-starter-storage-queue De starter voor het gebruik van Azure Storage Queue.
spring-cloud-azure-starter-actuator De starter voor het gebruik van Spring Boot's Actuator, die productieklare functies biedt.

De volgende tabel bevat starters voor Spring Data-ondersteuning:

Naam Beschrijving
spring-cloud-azure-starter-data-cosmos De starter voor het gebruik van Spring Data voor Azure Cosmos DB.

De volgende tabel bevat starters voor Spring Integration-ondersteuning:

Naam Beschrijving
spring-cloud-azure-starter-integration-eventhubs De starter voor het gebruik van Azure Event Hubs en Spring Integration.
spring-cloud-azure-starter-integration-servicebus De starter voor het gebruik van Azure Service Bus en Spring Integration.
spring-cloud-azure-starter-integration-storage-queue De starter voor het gebruik van Azure Storage Queue en Spring Integration.

De volgende tabel bevat starters voor Spring Cloud Stream-ondersteuning:

Naam Beschrijving
spring-cloud-azure-starter-stream-eventhubs De starters voor het gebruik van Azure Event Hubs en Spring Cloud Stream Binder.
spring-cloud-azure-starter-stream-servicebus De starter voor het gebruik van Azure Service Bus en Spring Cloud Stream Binder.

De volgende tabel bevat starters voor MySQL-ondersteuning:

Naam Beschrijving
spring-cloud-azure-starter-jdbc-mysql De starters voor het gebruik van Azure MySQLs en JDBC via Microsoft Entra-verificatie.

De volgende tabel bevat starters voor PostgreSQL-ondersteuning:

Naam Beschrijving
spring-cloud-azure-starter-jdbc-postgresql De starters voor het gebruik van Azure PostgreSQL en JDBC via Microsoft Entra-verificatie.

Spring Boot 3 configureren

Azure SDK JAR's vereisen handtekeningverificatie. Spring Boot 3 biedt echter geen ondersteuning voor de JAR-handtekeningverificatie voor de AOT-modus (Vooruit-of-time) op een JVM en voor systeemeigen installatiekopieën. Zie Ahead-of-Time Processing gebruiken met de JVM- en GraalVM Native Image Supportvoor meer informatie.

Als u dit probleem wilt oplossen, schakelt u de VERIFICATIE van de JAR-handtekening uit.

  1. Maak een bestand custom.security in src/main/resources met de volgende inhoud:

    jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
    
  2. Als u Maven gebruikt, voegt u de volgende configuratie toe:

    <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>
    

    Als u Gradle gebruikt, voegt u de volgende configuratie toe:

    graalvmNative {
      binaries {
        main {
          buildArgs('-Djava.security.properties=' + file("$rootDir/custom.security").absolutePath)
        }
      }
    }
    

Spring Cloud Azure leren

Zie Spring Cloud Azure Samplesvoor een volledige lijst met voorbeelden met gebruik.