Condividi tramite


Guida per sviluppatori di Spring Cloud Azure

Spring è un framework applicativo open source sviluppato da VMware che offre un approccio modulare semplificato per la creazione di applicazioni Java. Spring Cloud Azure è un progetto open source che offre un'integrazione spring senza problemi con Azure.

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. Anche le richieste pull sono benvenute.

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

Introduttiva

Configurazione delle dipendenze

Distinta base (BOM)

Se si usa Maven, aggiungere la distinta base al file pom.xml nella sezione dependencyManagement, come illustrato nell'esempio seguente. Quando si usa la distinta base, non è necessario specificare le versioni per una delle dipendenze Maven perché il controllo delle versioni viene delegato alla distinta base.

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

Con Gradle, è possibile importare la distinta base spring-cloud-azure-dependencies nei modi seguenti:

  • 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 distinta base 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, assicurarsi di impostare la spring-cloud-azure-dependencies versione su 7.1.0.

Se si usa Spring Boot 3.5.x, assicurarsi di impostare la spring-cloud-azure-dependencies versione su 6.1.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 altre informazioni sulla versione usata per questa distinta base, vedere 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 avvio contiene tutte le dipendenze e le dipendenze transitive necessarie per iniziare a usare il modulo spring cloud Azure corrispondente. 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
primavera-nuvola-azure-starter Lo starter principale, incluso il supporto della configurazione automatica.
spring-cloud-azure-starter-active-directory Base per l'uso di Microsoft Entra ID con Spring Security.
primavera-cloud-azure-starter-active-directory-b2c Lo starter per l'uso di Azure Active Directory B2C con Spring Security.
configurazione dell'app spring-cloud-azure-starter Lo starter per l'uso di Azure App Configuration.
spring-cloud-azure-starter-appconfiguration-config Lo starter per l'uso di Azure App Configuration Config.
primavera-nuvola-azzurra-starter-cosmos Lo starter per l'uso di Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Lo starter per l'uso di Azure Event Hubs.
spring-cloud-azure-starter-eventgrid Lo starter per l'uso di Azure Event Grid.
spring-cloud-azure-starter-archivio-chiavi Lo starter per l'uso di Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Lo starter per l'uso di segreti di Azure Key Vault.
spring-cloud-azure-starter-keyvault-jca Lo starter per l'uso di Azure Key Vault JCA.
spring-cloud-azure-starter-keyvault-certificates Avvio per l'uso di certificati Azure Key Vault.
spring-cloud-azure-starter-servicebus Avvio per l'uso di Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms Lo starter per l'uso di Azure Service Bus e JMS.
spring-cloud-azure-starter-storage Avvio per l'uso di Azure Storage.
spring-cloud-azure-starter-storage-blob Avvio per l'uso di Azure Storage BLOB.
spring-cloud-azure-starter-storage-file-share Avvio per l'uso di Azure Storage condivisione file.
spring-cloud-azure-starter-storage-queue Avvio per l'uso di Azure Storage Queue.
spring-cloud-azure-starter-accelerator Lo starter per l'uso dell'attuatore di Spring Boot, che fornisce funzionalità pronte per la produzione.

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

Nome Descrizione
primavera-cloud-azure-starter-data-cosmos Avvio per l'uso di 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 Lo starter per l'uso di Spring Data e Azure Cache for Redis con Lattuga.

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 Azure Event Hubs e Spring Integration.
spring-cloud-azure-starter-integration-servicebus Base per l'uso di Azure Service Bus e Spring Integration.
spring-cloud-azure-starter-integration-storage-queue Avvio per l'uso di Azure Storage 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 Azure Event Hubs e Spring Cloud Stream Binder.
spring-cloud-azure-starter-stream-servicebus Lo strumento di avvio per l'uso di Azure Service Bus e Spring Cloud Stream Binder.

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

Nome Descrizione
spring-cloud-azure-starter-jdbc-mysql Lo starter per l'uso di Azure MySQLs 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 L'avvio per l'uso di Azure PostgreSQL e JDBC tramite l'autenticazione 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 versione principale offre maggiore sicurezza, dipendenze più snella, supporto per l'idoneità alla produzione e altro ancora.

Mancia

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 tramite una singola distinta base spring-cloud-azure-dependencies.
  • Azure support espanso in Spring Initializr per coprire Kafka, Hub eventi, Azure Cache for Redis e Azure App Configuration.
  • Dipendenze del modulo Spring riprogettate per rimuovere i livelli in eccesso e l'entanglement.
  • Supporto delle identità gestite per Azure App Configuration, Hub eventi, Service Bus, Azure Cosmos DB, Key Vault, BLOB di archiviazione e coda di archiviazione.
  • Supporto continuo per i metodi di autenticazione nei Azure SDK sottostanti delle librerie Spring, ad esempio token di firma di accesso condiviso e autenticazione delle credenziali dei token con Service Bus e Hub eventi.
  • 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 di accesso granulare a livello di risorsa ,ad esempio Service Bus coda, per consentire una migliore governance della sicurezza e conformità ai criteri IT.
  • Altre opzioni esposte in modo idiotico Spring tramite una migliore copertura della configurazione automatica dei client Azure SDK per scenari sincroni e asincroni.
  • Sono stati aggiunti indicatori di integrità per Azure App Configuration, 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 SDKs basati su HTTP.