Udostępnij za pośrednictwem


Przewodnik dla deweloperów platformy Azure platformy Spring Cloud

Ten artykuł dotyczy:✅ w wersji 4.19.0 ✅ w wersji 5.19.0

Spring to platforma aplikacji typu open source opracowana przez oprogramowanie VMware, która zapewnia uproszczone, modułowe podejście do tworzenia aplikacji Java. Spring Cloud Azure to projekt open source, który zapewnia bezproblemową integrację platformy Spring z platformą Azure.

Aby uzyskać więcej informacji na temat obsługiwanych wersji, zobacz Mapowanie wersji platformy Spring.

Uzyskiwanie pomocy

Jeśli masz jakiekolwiek pytania dotyczące tej dokumentacji, utwórz problem z usługą GitHub w jednym z następujących repozytoriów usługi GitHub. Żądania ściągnięcia są również mile widziane.

Repozytoria GitHub Opis
azure/azure-sdk-for-java To repozytorium przechowuje kod źródłowy.
MicrosoftDocs/azure-dev-docs To repozytorium zawiera dokumentację.

Co nowego w wersji 4.0 od wersji 3.10.x

Ta dokumentacja obejmuje zmiany wprowadzone w wersji 4.0 od wersji 3.10. Ta główna wersja zapewnia lepsze zabezpieczenia, szczuplejsze zależności, obsługę gotowości produkcyjnej i nie tylko.

Napiwek

Aby uzyskać więcej informacji na temat migracji do wersji 4.0, zobacz przewodnik migracji dla wersji 4.0.

Poniższa lista zawiera podsumowanie niektórych zmian zapewnianych przez platformę Spring Cloud Azure 4.0:

  • Ujednolicone środowisko programistyczne z ujednoliconą nazwą projektu, identyfikatorem artefaktu i właściwościami.
  • Uproszczone zarządzanie zależnościami przy użyciu pojedynczego spring-cloud-azure-dependencies modelu BOM.
  • Rozszerzona obsługa platformy Azure w usłudze Spring Initializr na potrzeby platformy Kafka, usługi Event Hubs, usługi Azure Cache for Redis i usługi Azure App Configuration.
  • Zależności modułu Spring z architekturą Rearchitected w celu usunięcia nadmiaru warstw i splątania.
  • Obsługa tożsamości zarządzanej dla usług Azure App Configuration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Storage Blob i Storage Queue.
  • Ciągła obsługa metod uwierzytelniania w podstawowym zestawie Azure SDK z naszych bibliotek Spring, takich jak token SAS i uwierzytelnianie poświadczeń tokenu za pomocą usług Service Bus i Event Hubs.
  • Łańcuch poświadczeń jest teraz domyślnie włączony, umożliwiając aplikacjom uzyskiwanie poświadczeń z właściwości aplikacji, zmiennych środowiskowych, tożsamości zarządzanej, środowisk IDE itd. Aby uzyskać więcej informacji, zobacz sekcję DefaultAzureCredential biblioteki klienta Azure Identity dla języka Java.
  • Szczegółowa kontrola dostępu na poziomie zasobów (na przykład kolejka usługi Service Bus), aby umożliwić lepsze zarządzanie zabezpieczeniami i przestrzeganie zasad IT.
  • Więcej opcji uwidocznionych w sposób spring-idiomatic dzięki ulepszonemu automatycznemu pokryciu konfiguracji klientów zestawu Azure SDK zarówno synchronicznych, jak i asynchronicznych.
  • Dodano wskaźniki kondycji dla usług Azure App Configuration, Event Hubs, Azure Cosmos DB, Key Vault, Storage Blob, Storage Queue i Storage File.
  • Obsługa rozwiązania Spring Cloud Sleuth dla wszystkich zestawów SDK platformy Azure opartych na protokole HTTP.

Przewodnik migracji dla wersji 4.0

Aby uzyskać więcej informacji na temat migracji do wersji 4.0, zobacz przewodnik migracji dla wersji 4.0.

Wprowadzenie

Konfigurowanie zależności

Rachunek za materiały (BOM)

Jeśli używasz narzędzia Maven, dodaj element BOM do pliku pom.xml w sekcji dependencyManagement, jak pokazano w poniższym przykładzie. W przypadku korzystania z modelu BOM nie trzeba określać wersji dla żadnych zależności narzędzia Maven, ponieważ przechowywanie wersji jest delegowane do modelu 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>

Za pomocą narzędzia Gradle można zaimportować spring-cloud-azure-dependencies BOM w następujący sposób:

  • Użyj natywnej obsługi modelu BOM narzędzia Gradle, dodając zależności, jak pokazano w poniższym przykładzie:

    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}"))
    }
    
  • Użyj wtyczki io.spring.dependency-management i zaimportuj model BOM w dependencyManagement, jak pokazano w poniższym przykładzie:

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

Aby uzyskać więcej informacji, zobacz Spring Boot Gradle Plugin Reference Guide.

Nuta

Jeśli używasz środowiska Spring Boot 2.x, ustaw wersję spring-cloud-azure-dependencies na 4.19.0. Ten rachunek materiału (BOM) należy skonfigurować w sekcji <dependencyManagement> pliku pom.xml. Gwarantuje to, że wszystkie zależności platformy Azure platformy Spring Cloud korzystają z tej samej wersji. Aby uzyskać więcej informacji na temat wersji używanej dla tego modelu BOM, zobacz Której wersji platformy Spring Cloud platformy Azure należy używać.

Zależności początkowe

Spring Cloud Azure Starters to zestaw wygodnych deskryptorów zależności do uwzględnienia w aplikacji. Każdy starter zawiera wszystkie zależności i przejściowe zależności potrzebne do rozpoczęcia korzystania z odpowiedniego modułu platformy Azure spring cloud. Te szablony startowe zwiększają programowanie aplikacji Spring Boot za pomocą usług platformy Azure.

Jeśli na przykład chcesz rozpocząć korzystanie z platformy Spring i usługi Azure Cosmos DB na potrzeby trwałości danych, uwzględnij zależność spring-cloud-azure-starter-cosmos w projekcie.

W poniższej tabeli wymieniono szablony startowe aplikacji udostępniane przez platformę Spring Cloud Azure w grupie com.azure.spring:

Nazwa Opis
spring-cloud-azure-starter Podstawowy starter, w tym obsługa automatycznej konfiguracji.
spring-cloud-azure-starter-active-directory Początek korzystania z usługi Microsoft Entra ID z usługą Spring Security.
spring-cloud-azure-starter-active-directory-b2c Początek korzystania z usługi Azure Active Directory B2C z zabezpieczeniami Spring.
spring-cloud-azure-starter-appconfiguration Początek korzystania z usługi Azure App Configuration.
spring-cloud-azure-starter-cosmos Początek korzystania z usługi Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Początek korzystania z usługi Azure Event Hubs.
spring-cloud-azure-starter-keyvault Szablon startowy do korzystania z usługi Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Początek korzystania z wpisów tajnych usługi Azure Key Vault.
spring-cloud-azure-starter-keyvault-certificates Starter do korzystania z certyfikatów usługi Azure Key Vault.
spring-cloud-azure-starter-servicebus Początek korzystania z usługi Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms Starter do korzystania z usług Azure Service Bus i JMS.
spring-cloud-azure-starter-storage Początek korzystania z usługi Azure Storage.
spring-cloud-azure-starter-storage-blob Początek korzystania z obiektu blob usługi Azure Storage.
spring-cloud-azure-starter-storage-file-share Początek korzystania z udziału plików usługi Azure Storage.
spring-cloud-azure-starter-storage-queue Początek korzystania z kolejki usługi Azure Storage.
spring-cloud-azure-starter-siłownik Starter do korzystania z siłownika Spring Boot, który zapewnia gotowe do produkcji funkcje.

W poniższej tabeli wymieniono początkowe informacje o obsłudze rozwiązania Spring Data:

Nazwa Opis
spring-cloud-azure-starter-data-cosmos Początek korzystania z usługi Spring Data dla usługi Azure Cosmos DB.

W poniższej tabeli wymieniono początkowe informacje o obsłudze integracji platformy Spring:

Nazwa Opis
spring-cloud-azure-starter-integration-eventhubs Starter do korzystania z usług Azure Event Hubs i Spring Integration.
spring-cloud-azure-starter-integration-servicebus Starter do korzystania z usług Azure Service Bus i Spring Integration.
spring-cloud-azure-starter-integration-storage-queue Początek korzystania z kolejki usługi Azure Storage i integracji spring.

W poniższej tabeli wymieniono początkowe informacje o obsłudze usługi Spring Cloud Stream:

Nazwa Opis
spring-cloud-azure-starter-stream-eventhubs Narzędzie startowe do korzystania z usług Azure Event Hubs i Spring Cloud Stream Binder.
spring-cloud-azure-starter-stream-servicebus Starter do korzystania z usług Azure Service Bus i Spring Cloud Stream Binder.

W poniższej tabeli wymieniono początkowe informacje o obsłudze bazy danych MySQL:

Nazwa Opis
spring-cloud-azure-starter-jdbc-mysql Podstawowe informacje dotyczące korzystania z list Azure MySQLs i JDBC za pośrednictwem uwierzytelniania firmy Microsoft Entra.

W poniższej tabeli wymieniono początkowe informacje o obsłudze bazy danych PostgreSQL:

Nazwa Opis
spring-cloud-azure-starter-jdbc-postgresql Podstawowe informacje dotyczące korzystania z usług Azure PostgreSQL i JDBC za pośrednictwem uwierzytelniania firmy Microsoft Entra.

Konfigurowanie platformy Spring Boot 3

Żądania JAR zestawu Azure SDK wymagają weryfikacji podpisu. Jednak platforma Spring Boot 3 nie obsługuje weryfikacji podpisu JAR w trybie przedterminowym (AOT) na maszynie wirtualnej JVM i w przypadku obrazów natywnych. Aby uzyskać więcej informacji, zobacz Using Ahead-of-time Processing With the JVM and GraalVM Native Image Support.

Aby rozwiązać ten problem, wyłącz weryfikację podpisu JAR.

  1. Utwórz plik custom.security w src/main/resources o następującej zawartości:

    jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
    
  2. Jeśli używasz narzędzia Maven, dodaj następującą konfigurację:

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

    Jeśli używasz narzędzia Gradle, dodaj następującą konfigurację:

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

Learning Spring Cloud Azure

Aby uzyskać pełną listę przykładów pokazujących użycie, zobacz Spring Cloud Azure Samples.