Przewodnik dewelopera dotyczący usługi Spring Cloud Azure

Rozwiązanie Spring Cloud Azure integruje aplikacje Spring Boot z usługami Azure. W tym przewodniku dla deweloperów wyjaśniono, jak zarządzać zależnościami, wybierać szablony startowe i używać przykładów, aby przyspieszyć tworzenie aplikacji Java.

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. Pull requesty 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ż model BOM obsługuje przechowywanie wersji.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-dependencies</artifactId>
      <version>7.4.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 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.

Uwaga

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

Jeśli używasz platformy Spring Boot 3.5.x, ustaw spring-cloud-azure-dependencies wersję na 6.5.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 o wersji używanej w tym BOM, zobacz Which Version of Spring Cloud Azure Should I Use.

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 startery przyspieszają tworzenie aplikacji Spring Boot dzięki usługom platformy 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 Główny starter z obsługą automatycznej konfiguracji.
spring-cloud-azure-starter-active-directory Narzędzie początkowe do używania Microsoft Entra ID z usługą Spring Security.
spring-cloud-azure-starter-active-directory-b2c Moduł startowy do używania usługi Azure Active Directory B2C z platformą Spring Security.
spring-cloud-azure-starter-appconfiguration Wprowadzenie 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 Wprowadzenie do korzystania z Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Wprowadzenie do korzystania z usługi Azure Event Hubs.
spring-cloud-azure-starter-eventgrid Wprowadzenie do korzystania z usługi Azure Event Grid.
spring-cloud-azure-starter-keyvault Wprowadzenie do korzystania z Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Element umożliwiający rozpoczęcie pracy 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 Materiał startowy do korzystania z certyfikatów Azure Key Vault.
spring-cloud-azure-starter-servicebus Wprowadzenie do pracy z Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms Starter do obsługi Azure Service Bus i JMS.
spring-cloud-azure-starter-storage Wprowadzenie do korzystania z usługi Azure Storage.
spring-cloud-azure-starter-storage-blob Wprowadzenie do korzystania z usługi Azure Blob Storage.
spring-cloud-azure-starter-storage-file-share Początek korzystania z udziału plików Azure Storage.
spring-cloud-azure-starter-storage-queue Wprowadzenie do korzystania z Azure Storage Queue.
spring-cloud-azure-starter-actuator Starter umożliwiający korzystanie z modułu Actuator w Spring Boot, który udostępnia funkcje gotowe do użycia w środowisku produkcyjnym.

Poniższa tabela zawiera listę starterów obsługi 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 startery obsł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 moduły startowe obsługi Spring Integration:

Nazwa Opis
spring-cloud-azure-starter-integration-eventhubs Moduł startowy do obsługi Azure Event Hubs i integracji Spring.
spring-cloud-azure-starter-integration-servicebus Moduł startowy do użycia Azure Service Bus i Spring Integration.
spring-cloud-azure-starter-integration-storage-queue Starter do obsługi Azure Storage Queue i Spring Integration.

Poniższa tabela zawiera listę pakietów startowych dla obsługi Spring Cloud Stream:

Nazwa Opis
spring-cloud-azure-starter-stream-eventhubs Wprowadzenie do korzystania z usługi Azure Event Hubs i łącznika Spring Cloud Stream Binder.
spring-cloud-azure-starter-stream-servicebus Moduł startowy do obsługi usługi Azure Service Bus i składnika 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 Początek korzystania z Azure MySQLs i JDBC za pośrednictwem uwierzytelniania Microsoft Entra.

W poniższej tabeli wymieniono moduły startowe obsługi PostgreSQL:

Nazwa Opis
spring-cloud-azure-starter-jdbc-postgresql Przewodnik wprowadzający dotyczący korzystania z Azure PostgreSQL i JDBC z uwierzytelnianiem 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. To duże wydanie zapewnia lepsze zabezpieczenia, mniej zależności, wsparcie dla gotowości produkcyjnej i nie tylko.

Wskazówka

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 za pomocą pojedynczego spring-cloud-azure-dependencies BOM.
  • Rozszerzono obsługę platformy Azure w usłudze Spring Initializr o Kafka, Event Hubs, Azure Cache for Redis i Azure App Configuration.
  • Przebudowano zależności modułów Spring, aby usunąć zbędne warstwy i silne powiązania.
  • Obsługa tożsamości zarządzanej dla usług Azure App Configuration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Azure Blob Storage i Azure Queue Storage.
  • Ciągła obsługa metod uwierzytelniania w bazowym zestawie Azure SDK przez nasze biblioteki Spring, takich jak token SAS oraz uwierzytelnianie za pomocą poświadczeń tokenowych w usługach 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 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 udostępnionych w sposób zgodny z idiomami Spring dzięki szerszej obsłudze automatycznej konfiguracji klientów Azure SDK zarówno w scenariuszach synchronicznych, jak i asynchronicznych.
  • Dodano wskaźniki kondycji dla usług Azure App Configuration, Event Hubs, Azure Cosmos DB, Key Vault, Blob Storage, Queue Storage i File Storage.
  • Obsługa rozwiązania Spring Cloud Sleuth dla wszystkich Azure SDKs opartych na protokole HTTP.