Sdílet prostřednictvím


Příručka pro vývojáře v Spring Cloudu v Azure

Tento článek se vztahuje na:✅ verze 4.19.0 ✅ verze 5.19.0

Spring je opensourcová aplikační architektura vyvinutá VMware, která poskytuje zjednodušený modulární přístup pro vytváření aplikací v Javě. Spring Cloud Azure je opensourcový projekt, který poskytuje bezproblémovou integraci Springu s Azure.

Další informace o podporovaných verzích naleznete v tématu Mapování verzí Spring.

Získání nápovědy

Pokud máte nějaké dotazy k této dokumentaci, vytvořte problém s GitHubem v jednom z následujících úložišť GitHubu. Žádosti o přijetí změn jsou také vítány.

Úložiště GitHub Popis
Azure/azure-sdk-for-java Toto úložiště obsahuje zdrojový kód.
MicrosoftDocs/azure-dev-docs Toto úložiště obsahuje dokumentaci.

Novinky ve verzi 4.0 od verze 3.10.x

Tato dokumentace popisuje změny provedené ve verzi 4.0 od verze 3.10. Tato hlavní verze přináší lepší zabezpečení, štíhlé závislosti, podporu připravenosti na produkční prostředí a další.

Spropitné

Další informace o migraci na verzi 4.0 najdete v průvodci migrací verze 4.0.

Následující seznam shrnuje některé změny, které poskytuje Spring Cloud Azure 4.0:

  • Jednotné vývojové prostředí s jednotným názvem projektu, ID artefaktu a vlastnostmi.
  • Zjednodušená správa závislostí pomocí jediného kusovníku spring-cloud-azure-dependencies
  • Rozšířená podpora Azure na Spring Initializr, která zahrnuje Kafka, Event Hubs, Azure Cache for Redis a Azure App Configuration.
  • Změna závislostí modulu Spring pro odebrání nadbytečných vrstev a propletení
  • Podpora spravované identity pro Azure App Configuration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Objekt blob úložiště a frontu úložiště.
  • Průběžná podpora metod ověřování v podkladové sadě Azure SDK z našich knihoven Spring, jako je token SAS a ověřování přihlašovacích údajů tokenů pomocí služby Service Bus a Event Hubs.
  • Řetěz přihlašovacích údajů je teď ve výchozím nastavení povolený a umožňuje aplikacím získávat přihlašovací údaje z vlastností aplikace, proměnných prostředí, spravované identity, ides atd. Další informace najdete v části DefaultAzureCredential klientské knihovny Identita Azure pro javu.
  • Podrobné řízení přístupu na úrovni prostředků (například fronta Service Bus), které umožňuje lepší zásady správného řízení zabezpečení a dodržování zásad IT.
  • Další možnosti zveřejněné prostřednictvím spring-idiomatic způsobu prostřednictvím vylepšeného pokrytí automatické konfigurace klientů Azure SDK pro synchronní i asynchronní scénáře.
  • Přidání indikátorů stavu pro Azure App Configuration, Event Hubs, Azure Cosmos DB, Key Vault, Storage Blob, Storage Queue a Storage File
  • Podpora Spring Cloud Sleuth pro všechny sady AZURE SDK založené na protokolu HTTP

Průvodce migrací pro verzi 4.0

Další informace o migraci na verzi 4.0 najdete v průvodci migrací verze 4.0.

Začínáme

Nastavení závislostí

Kusovník materiálu (KUSOVNÍK)

Pokud používáte Maven, přidejte do souboru pom.xml v části dependencyManagement kusovník, jak je znázorněno v následujícím příkladu. Při použití kusovníku nemusíte zadávat verze pro žádné závislosti Mavenu, protože správa verzí se deleguje do kusovníku.

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

Pomocí Gradle můžete importovat spring-cloud-azure-dependencies kusovníku následujícími způsoby:

  • Použijte nativní podporu kusovníku Gradle přidáním závislostí, jak je znázorněno v následujícím příkladu:

    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}"))
    }
    
  • Použijte modul plug-in io.spring.dependency-management a naimportujte kusovník v dependencyManagement, jak je znázorněno v následujícím příkladu:

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

Další informace naleznete v Spring Boot Gradle Referenční příručka modulu plug-in.

Poznámka

Pokud používáte Spring Boot 2.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 4.19.0. Tato faktura materiálu (BOM) by měla být nakonfigurovaná v části <dependencyManagement> souboru pom.xml. Tím se zajistí, že všechny závislosti Azure Spring Cloudu budou používat stejnou verzi. Další informace o verzi použité pro tento kusovník najdete v tématu Jakou verzi Spring Cloud Azure mám použít.

Počáteční závislosti

Spring Cloud Azure Starters jsou sada pohodlných popisovačů závislostí, které se mají zahrnout do vaší aplikace. Každá úvodní sada obsahuje všechny závislosti a tranzitivní závislosti potřebné k zahájení používání odpovídajícího modulu Spring Cloud Azure. Tyto úvodní sady zvyšují vývoj aplikací Spring Boot pomocí služeb Azure.

Pokud například chcete začít používat Spring a Azure Cosmos DB pro trvalost dat, zahrňte do projektu spring-cloud-azure-starter-cosmos závislost.

V následující tabulce jsou uvedeny úvodní sady aplikací poskytované službou Spring Cloud Azure ve skupině com.azure.spring:

Jméno Popis
spring-cloud-azure-starter Základní sada, včetně podpory automatické konfigurace.
spring-cloud-azure-starter-active-directory Úvodní sada pro použití Microsoft Entra ID s Spring Security.
spring-cloud-azure-starter-active-directory-b2c Úvodní příručka pro použití Azure Active Directory B2C s Spring Security.
spring-cloud-azure-starter-appconfiguration Úvodní sada pro používání azure App Configuration.
spring-cloud-azure-starter-cosmos Začátek používání služby Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Úvodní sada pro používání služby Azure Event Hubs
spring-cloud-azure-starter-keyvault Úvodní sada pro použití služby Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Úvodní kód pro používání tajných kódů služby Azure Key Vault.
spring-cloud-azure-starter-keyvault-certificates Začátek používání certifikátů služby Azure Key Vault.
spring-cloud-azure-starter-servicebus Úvodní sada pro používání služby Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms Začátek používání služby Azure Service Bus a JMS.
spring-cloud-azure-starter-storage Úvodní sada pro použití Služby Azure Storage
spring-cloud-azure-starter-storage-blob Začátek použití objektu blob služby Azure Storage
spring-cloud-azure-starter-storage-file-share Úvodní sada pro použití sdílené složky Azure Storage.
spring-cloud-azure-starter-storage-queue Úvodní sada pro použití fronty azure Storage.
spring-cloud-azure-starter-poháněcí zařízení Úvodní sada pro použití poháněcího zařízení Spring Boot, která poskytuje funkce připravené pro produkční prostředí.

Následující tabulka obsahuje úvodní informace o podpoře Spring Data:

Jméno Popis
spring-cloud-azure-starter-data-cosmos Začátek použití Spring Data pro Službu Azure Cosmos DB

Následující tabulka obsahuje úvodní informace o podpoře integrace Spring:

Jméno Popis
spring-cloud-azure-starter-integration-eventhubs Úvodní sada pro použití služby Azure Event Hubs a integrace Springu
spring-cloud-azure-starter-integration-servicebus Úvodní příručka pro používání služby Azure Service Bus a integrace Spring.
spring-cloud-azure-starter-integration-storage-queue Úvodní sada pro použití fronty služby Azure Storage a integrace spring.

Následující tabulka obsahuje úvodní informace o podpoře Spring Cloud Streamu:

Jméno Popis
spring-cloud-azure-starter-stream-eventhubs Začátek použití služby Azure Event Hubs a Spring Cloud Stream Binderu
spring-cloud-azure-starter-stream-servicebus Úvodní příručka pro používání služby Azure Service Bus a Spring Cloud Stream Binderu

Následující tabulka obsahuje úvodní informace o podpoře MySQL:

Jméno Popis
spring-cloud-azure-starter-jdbc-mysql Začátek používání seznamů Azure MySQLs a JDBC prostřednictvím ověřování Microsoft Entra.

Následující tabulka obsahuje úvodní informace o podpoře PostgreSQL:

Jméno Popis
spring-cloud-azure-starter-jdbc-postgresql Začátek použití Azure PostgreSQL a JDBC prostřednictvím ověřování Microsoft Entra.

Konfigurace Spring Bootu 3

Žádosti o přijetí změn v sadě Azure SDK vyžadují ověření podpisu. Spring Boot 3 ale nepodporuje ověřování podpisu JAR v režimu AOT (Head-of Time) v prostředí JVM a nativních imagí. Další informace najdete v tématu Použití předem určeného zpracování pomocí prostředí JVM a podpora nativních imagí graalVM.

Pokud chcete tento problém vyřešit, zakažte ověření podpisu JAR.

  1. Vytvořte soubor custom.security v src/main/resources s následujícím obsahem:

    jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
    
  2. Pokud používáte Maven, přidejte následující konfiguraci:

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

    Pokud používáte Gradle, přidejte následující konfiguraci:

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

Výuka Spring Cloud v Azure

Úplný seznam ukázek, které ukazují využití, najdete v tématu Ukázky Azure Spring Cloud.