Guida per sviluppatori di Spring Cloud Azure

Spring Cloud Azure integra le applicazioni Spring Boot con servizi di Azure. Questa guida per sviluppatori illustra come gestire le dipendenze, scegliere gli starter e usare esempi per accelerare lo sviluppo di applicazioni Java.

Per altre informazioni sulle versioni supportate, vedere Spring Versions Mapping.

Ottenere assistenza

In caso di domande su questa documentazione, creare un problema di GitHub in uno dei repository di GitHub seguenti. Sono benvenute anche le pull request.

repository di GitHub Descrizione
Azure/azure-sdk-for-java Questo repository contiene il codice sorgente.
Azure-Samples/azure-spring-boot-samples Questo repository contiene gli esempi correlati.
MicrosoftDocs/azure-dev-docs Questo repository contiene la documentazione.

Per iniziare

Configurazione delle dipendenze

Distinta base (BOM)

Se utilizzi Maven, aggiungi la BOM al file pom.xml nella sezione dependencyManagement, come mostrato nell'esempio seguente. Quando si usa la distinta base, non è necessario specificare le versioni per una delle dipendenze Maven perché la distinta base gestisce il controllo delle versioni.

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

Con Gradle, puoi importare la spring-cloud-azure-dependencies BOM in uno dei seguenti modi:

  • Usare il supporto bom nativo di Gradle aggiungendo dipendenze, come illustrato nell'esempio seguente.

    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}"))
    }
    
  • Usare il plug-in io.spring.dependency-management e importare la BOM in dependencyManagement, come illustrato nell'esempio seguente.

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

Per altre informazioni, vedere Spring Boot Gradle Plugin Reference Guide.

Nota

Se si usa Spring Boot 4.0.x, impostare la spring-cloud-azure-dependencies versione su 7.4.0.

Se si usa Spring Boot 3.5.x, impostare la spring-cloud-azure-dependencies versione su 6.5.0.

Se si usa Spring Boot 3.1.x-3.5.x, assicurarsi di impostare la spring-cloud-azure-dependencies versione su 5.25.0.

Se si usa Spring Boot 2.x, assicurarsi di impostare la spring-cloud-azure-dependencies versione su 4.20.0.

Questo Bill of Material (BOM) deve essere configurato nella sezione <dependencyManagement> del file pom.xml. In questo modo, tutte le dipendenze di Spring Cloud Azure usano la stessa versione.

Per ulteriori informazioni sulla versione utilizzata per questa distinta base, consulta Which Version of Spring Cloud Azure Should I Use.

Dipendenze di avvio

Spring Cloud Azure Starters è un set di utili descrittori di dipendenza da includere nell'applicazione. Ogni starter contiene tutte le dipendenze e le dipendenze transitive necessarie per iniziare a usare il corrispondente modulo Spring Cloud Azure. Questi strumenti di avvio migliorano lo sviluppo di applicazioni Spring Boot con servizi di Azure.

Ad esempio, se si vuole iniziare a usare Spring e Azure Cosmos DB per la persistenza dei dati, includere la dipendenza spring-cloud-azure-starter-cosmos nel progetto.

La tabella seguente elenca gli starter dell'applicazione forniti da Spring Cloud Azure nel gruppo com.azure.spring:

Nome Descrizione
spring-cloud-azure-starter Lo starter di base, con supporto per l'autoconfigurazione.
spring-cloud-azure-starter-active-directory Pacchetto starter per l'uso di Microsoft Entra ID con Spring Security.
spring-cloud-azure-starter-active-directory-b2c Starter per usare Azure Active Directory B2C con Spring Security.
spring-cloud-azure-starter-appconfiguration Guida introduttiva per usare Configurazione app di Azure.
spring-cloud-azure-starter-appconfiguration-config Guida introduttiva all'uso di Configurazione app di Azure Config.
spring-cloud-azure-starter-cosmos Guida introduttiva all'uso di Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Guida introduttiva all'uso di Hub eventi di Azure.
spring-cloud-azure-starter-eventgrid Guida introduttiva all'uso di Griglia di eventi di Azure.
spring-cloud-azure-starter-keyvault Guida introduttiva all'uso di Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Guida introduttiva all'uso di Segreti di Azure Key Vault.
spring-cloud-azure-starter-keyvault-jca Il componente iniziale per utilizzare Azure Key Vault JCA.
spring-cloud-azure-starter-keyvault-certificates Introduzione all'uso dei certificati di Azure Key Vault.
spring-cloud-azure-starter-servicebus Introduzione all'uso di bus di servizio di Azure.
spring-cloud-azure-starter-servicebus-jms La guida introduttiva all'uso di bus di servizio di Azure e JMS.
spring-cloud-azure-starter-storage Guida introduttiva ad Archiviazione di Azure.
spring-cloud-azure-starter-storage-blob Introduzione all'uso di Archiviazione di Azure Blob.
spring-cloud-azure-starter-storage-file-share Introduzione all'uso della condivisione file di Archiviazione di Azure.
spring-cloud-azure-starter-storage-queue Guida introduttiva all'uso di Archiviazione di Azure Queue.
spring-cloud-azure-starter-actuator Starter per l'uso di Actuator di Spring Boot, che fornisce funzionalità adatte all'ambiente di produzione.

La tabella seguente elenca gli starter per il supporto di Spring Data:

Nome Descrizione
spring-cloud-azure-starter-data-cosmos Il modulo iniziale per utilizzare Spring Data per Azure Cosmos DB.

La tabella seguente elenca gli starter per il supporto di Spring Data Redis:

Nome Descrizione
spring-cloud-azure-starter-data-redis-lettuce Il pacchetto iniziale per usare Spring Data e cache di Azure per Redis con Lettuce.

La tabella seguente elenca gli starter per il supporto di Spring Integration:

Nome Descrizione
spring-cloud-azure-starter-integration-eventhubs Base per l'uso di Hub eventi di Azure e Spring Integration.
spring-cloud-azure-starter-integration-servicebus Base per l'uso di bus di servizio di Azure e Spring Integration.
spring-cloud-azure-starter-integration-storage-queue Lo starter per usare Archiviazione di Azure Queue e Spring Integration.

La tabella seguente elenca gli starter per il supporto di Spring Cloud Stream:

Nome Descrizione
spring-cloud-azure-starter-stream-eventhubs Lo strumento di avvio per l'uso di Hub eventi di Azure e Spring Cloud Stream Binder.
spring-cloud-azure-starter-stream-servicebus Lo strumento di avvio per l'uso di bus di servizio di Azure e Spring Cloud Stream Binder.

La tabella seguente elenca gli starter per il supporto di MySQL:

Nome Descrizione
spring-cloud-azure-starter-jdbc-mysql Starter per usare Azure MySQL e JDBC tramite l'autenticazione Microsoft Entra.

La tabella seguente elenca gli starter per il supporto di PostgreSQL:

Nome Descrizione
spring-cloud-azure-starter-jdbc-postgresql Guida introduttiva all'uso di PostgreSQL di Azure e JDBC tramite l'autenticazione di Microsoft Entra.

Learning Spring Cloud Azure

Per un elenco completo degli esempi che mostrano l'utilizzo, vedere Spring Cloud Azure Samples.

Novità della versione 4.0 dalla versione 3.10.x

Questa documentazione illustra le modifiche apportate nella versione 4.0 dalla versione 3.10. Questa release principale offre maggiore sicurezza, dipendenze più snelle, supporto per la preparazione alla produzione e altro ancora.

Suggerimento

Per altre informazioni sulla migrazione alla versione 4.0, vedere Migration guide for 4.0.

L'elenco seguente riepiloga alcune delle modifiche fornite da Spring Cloud Azure 4.0:

  • Esperienza di sviluppo unificata, con nome di progetto unificato, ID artefatto e proprietà.
  • Gestione semplificata delle dipendenze con un unico spring-cloud-azure-dependencies BOM.
  • Supporto di Azure esteso in Spring Initializr per includere Kafka, Event Hubs, cache di Azure per Redis e Configurazione app di Azure.
  • Dipendenze del modulo Spring riprogettate per rimuovere i livelli in eccesso e l'entanglement.
  • Supporto delle identità gestite per Configurazione app di Azure, Hub eventi, bus di servizio, Azure Cosmos DB, Key Vault, BLOB di archiviazione e coda di archiviazione.
  • Supporto continuo ai metodi di autenticazione negli Azure SDK sottostanti usati dalle nostre librerie Spring, ad esempio il token SAS e l'autenticazione tramite credenziali token con bus di servizio ed Event Hubs.
  • La catena di credenziali è ora abilitata per impostazione predefinita, consentendo alle applicazioni di ottenere le credenziali dalle proprietà dell'applicazione, dalle variabili di ambiente, dall'identità gestita, dagli IDE e così via. Per altre informazioni, vedere la sezione DefaultAzureCredential della libreria client Azure Identity per Java.
  • Controllo granulare degli accessi a livello di risorsa, ad esempio una coda di bus di servizio, per consentire una migliore governance della sicurezza e la conformità alle policy IT.
  • Più opzioni rese disponibili in modo idiomatico per Spring grazie a una maggiore copertura dell’autoconfigurazione dei client dell’SDK di Azure, sia per gli scenari sincroni che per quelli asincroni.
  • Sono stati aggiunti indicatori di integrità per Configurazione app di Azure, Hub eventi, Azure Cosmos DB, Key Vault, BLOB di archiviazione, coda di archiviazione e file di archiviazione.
  • Supporto di Spring Cloud Sleuth per tutti i Azure SDK basati su HTTP.