Udostępnij za pośrednictwem


Przewodnik dewelopera dotyczący usługi Spring Cloud Azure

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

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

Uzyskiwanie pomocy

Jeśli masz jakiekolwiek pytania dotyczące tej dokumentacji, utwórz GitHub problem w jednym z następujących repozytoriów 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.
Azure-Samples/azure-spring-boot-samples To repozytorium zawiera powiązane przykłady.
MicrosoftDocs/azure-dev-docs To repozytorium zawiera dokumentację.

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>7.1.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 "4.0.1"
    }
    
    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.7"
    }
    
    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 platformy Spring Boot 4.0.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 7.1.0.

Jeśli używasz platformy Spring Boot 3.5.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 6.1.0.

Jeśli używasz platformy Spring Boot 3.1.x-3.5.x, pamiętaj, aby ustawić spring-cloud-azure-dependencies wersję na 5.25.0.

Jeśli używasz środowiska Spring Boot 2.x, ustaw wersję spring-cloud-azure-dependencies na 4.20.0.

Tę listę materiałów (BOM) należy skonfigurować w sekcji <dependencyManagement> pliku pom.xml. Dzięki temu wszystkie zależności usługi Spring Cloud Azure korzystają z tej samej wersji.

Aby uzyskać więcej informacji na temat wersji używanej dla tego modelu BOM, zobacz Which Version of Spring Cloud Azure Should I Use (Wersja platformy Spring Cloud Azure powinna być używana.

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 Spring Cloud Azure. Te szablony startowe zwiększają programowanie aplikacji Spring Boot za pomocą usług Azure.

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

W poniższej tabeli wymieniono szablony startowe aplikacji udostępniane przez usługę 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 (biblioteka aktywna) Narzędzie początkowe do używania Microsoft Entra ID z usługą Spring Security.
spring-cloud-azure-starter-active-directory-b2c Narzędzie początkowe do korzystania z usługi Azure Active Directory B2C z usługą Spring Security.
spring-cloud-azure-starter-appconfiguration Starter do korzystania z Azure App Configuration.
spring-cloud-azure-starter-appconfiguration-config Szablon startowy do używania Azure App Configuration Config.
spring-cloud-azure-starter-cosmos Starter do korzystania z Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Starter do korzystania z Azure Event Hubs.
spring-cloud-azure-starter-eventgrid Starter do korzystania z Azure Event Grid.
spring-cloud-azure-starter-keyvault (starter umożliwiający integrację z Key Vault platformy Azure) Starter do korzystania z Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Starter do korzystania z Azure Key Vault Secrets.
spring-cloud-azure-starter-keyvault-jca Starter do korzystania z Azure Key Vault JCA.
spring-cloud-azure-starter-keyvault-certificates Szablon startowy do używania certyfikatów Azure Key Vault.
spring-cloud-azure-starter-servicebus Starter do korzystania z Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms Starter do korzystania z Azure Service Bus i JMS.
spring-cloud-azure-starter-storage Starter do korzystania z Azure Storage.
spring-cloud-azure-starter-storage-blob Początek korzystania z obiektu blob Azure Storage.
spring-cloud-azure-starter-storage-file-share Początek korzystania z udziału plików Azure Storage.
spring-cloud-azure-starter-storage-queue Początek korzystania z kolejki 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 Narzędzie początkowe do korzystania z usługi Spring Data na potrzeby Azure Cosmos DB.

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

Nazwa Opis
spring-cloud-azure-starter-data-redis-lettuce Początek korzystania z usługi Spring Data i Azure Cache for Redis z sałatą.

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

Nazwa Opis
spring-cloud-azure-starter-integration-eventhubs (platforma spring-cloud-azure-starter-integracja-eventhubs) Początek korzystania z Azure Event Hubs i integracji spring.
spring-cloud-azure-starter-integracja-servicebus Narzędzie startowe do korzystania z Azure Service Bus i integracji spring.
spring-cloud-azure-starter-integracja-kolejka-magazynuspring-cloud-azure-starter Narzędzie startowe do korzystania z Azure Storage Queue i Spring Integration.

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

Nazwa Opis
spring-cloud-azure-starter-stream-eventhubs Początek korzystania z narzędzia Azure Event Hubs i narzędzia binder strumienia Spring Cloud.
spring-cloud-azure-starter-stream-servicebus Szablon startowy do korzystania z Azure Service Bus i narzędzia binder strumienia Spring Cloud.

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

Nazwa Opis
spring-cloud-azure-starter-jdbc-mysql Początek korzystania z Azure MySQLs i JDBC za pośrednictwem uwierzytelniania Microsoft Entra.

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

Nazwa Opis
spring-cloud-azure-starter-jdbc-postgresql Narzędzie początkowe do używania Azure PostgreSQL i JDBC za pośrednictwem uwierzytelniania Microsoft Entra.

Learning Spring Cloud Azure

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

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 rozwiązanie 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.
  • Rozszerzono Azure support na Spring Initializr w celu pokrycia platformy Kafka, usługi Event Hubs, Azure Cache for Redis i 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, obiektów blob usługi Storage i kolejki magazynu.
  • Ciągła obsługa metod uwierzytelniania w podstawowych Azure SDK z naszych bibliotek Spring, takich jak token SAS i uwierzytelnianie poświadczeń tokenu za pomocą Service Bus i usługi 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 w Azure Identity client library for Java.
  • Szczegółowa kontrola dostępu na poziomie zasobów (na przykład kolejka 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 Azure SDK zarówno w scenariuszach synchronicznych, jak i asynchronicznych.
  • Dodano wskaźniki kondycji dla Azure App Configuration, event hubs, Azure Cosmos DB, Key Vault, obiektów blob usługi Storage, kolejki usługi Storage i pliku magazynu.
  • Obsługa rozwiązania Spring Cloud Sleuth dla wszystkich Azure SDKs opartych na protokole HTTP.