Panduan pengembang Spring Cloud Azure

Spring Cloud Azure mengintegrasikan aplikasi Spring Boot dengan layanan Azure. Panduan pengembang ini menjelaskan cara mengelola dependensi, memilih pemula, dan menggunakan sampel untuk mempercepat pengembangan aplikasi Java.

Untuk informasi selengkapnya tentang versi yang didukung, lihat Pemetaan Versi Spring.

Dapatkan bantuan

Jika Anda memiliki pertanyaan tentang dokumentasi ini, buat masalah GitHub di salah satu repositori GitHub berikut. Pull request juga diterima.

repositori GitHub Deskripsi
Azure/azure-sdk-for-java Repositori ini menyimpan kode sumber.
Azure-Samples/azure-spring-boot-samples Repositori ini menyimpan sampel terkait.
MicrosoftDocs/azure-dev-docs Repositori ini menyimpan dokumentasi.

Memulai

Menyiapkan dependensi

Tagihan bahan (BOM)

Jika Anda menggunakan Maven, tambahkan BOM ke file pom.xml Anda di bagian dependencyManagement, seperti yang ditunjukkan dalam contoh berikut. Saat menggunakan BOM, Anda tidak perlu menentukan versi untuk salah satu dependensi Maven karena BOM menangani penerapan versi.

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

Dengan Gradle, Anda dapat mengimpor spring-cloud-azure-dependencies BOM dengan cara berikut:

  • Gunakan dukungan BOM asli Gradle dengan menambahkan dependensi seperti yang ditunjukkan dalam contoh berikut.

    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}"))
    }
    
  • io.spring.dependency-management Gunakan plugin dan impor BOM di dependencyManagement, seperti yang ditunjukkan dalam contoh berikut.

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

Untuk informasi selengkapnya, lihat Panduan Referensi Plugin Spring Boot Gradle.

Nota

Jika Anda menggunakan Spring Boot 4.0.x, atur versi ke spring-cloud-azure-dependencies7.4.0.

Jika Anda menggunakan Spring Boot 3.5.x, atur versi ke spring-cloud-azure-dependencies6.5.0.

Jika Anda menggunakan Spring Boot 3.1.x-3.5.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies5.25.0.

Jika Anda menggunakan Spring Boot 2.x, pastikan untuk mengatur versi spring-cloud-azure-dependencies ke 4.20.0.

Bill of Material (BOM) ini harus dikonfigurasi di bagian <dependencyManagement> dari file pom.xml Anda. Ini memastikan bahwa semua dependensi Spring Cloud Azure menggunakan versi yang sama.

Untuk informasi selengkapnya tentang versi yang digunakan untuk BOM ini, lihat Versi Spring Cloud Azure Harus Saya Gunakan.

Dependensi awal

Spring Cloud Azure Starters adalah sekumpulan deskriptor dependensi yang nyaman untuk disertakan dalam aplikasi Anda. Setiap starter berisi semua dependensi dan dependensi transitif yang dibutuhkan untuk mulai menggunakan modul Spring Cloud Azure yang terkait. Starter ini membantu mempercepat pengembangan aplikasi Spring Boot Anda dengan layanan Azure.

Misalnya, jika Anda ingin mulai menggunakan Spring dan Azure Cosmos DB untuk persistensi data, sertakan dependensi spring-cloud-azure-starter-cosmos dalam proyek Anda.

Tabel berikut mencantumkan permulaan aplikasi yang disediakan oleh Spring Cloud Azure di bawah grup com.azure.spring:

Nama Deskripsi
spring-cloud-azure-starter Starter inti, termasuk dukungan konfigurasi otomatis.
spring-cloud-azure-starter-active-directory Starter untuk menggunakan Microsoft Entra ID dengan Spring Security.
spring-cloud-azure-starter-active-directory-b2c Paket awal untuk menggunakan Azure Active Directory B2C dengan Spring Security.
spring-cloud-azure-starter-appconfiguration Panduan memulai penggunaan Azure App Configuration.
spring-cloud-azure-starter-appconfiguration-config Panduan awal untuk menggunakan Azure App Configuration Config.
spring-cloud-azure-starter-cosmos Panduan awal untuk menggunakan Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Panduan memulai penggunaan Azure Event Hubs.
spring-cloud-azure-starter-eventgrid Panduan memulai menggunakan Azure Event Grid.
spring-cloud-azure-starter-keyvault Panduan memulai untuk menggunakan Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Panduan memulai penggunaan Azure Key Vault Secrets.
spring-cloud-azure-starter-keyvault-jca Paket awal untuk menggunakan Azure Key Vault JCA.
spring-cloud-azure-starter-keyvault-certificates Panduan awal untuk menggunakan sertifikat Azure Key Vault.
spring-cloud-azure-starter-servicebus Panduan memulai penggunaan Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms Panduan memulai penggunaan Azure Service Bus dan JMS.
spring-cloud-azure-starter-storage Panduan awal untuk menggunakan Azure Storage.
spring-cloud-azure-starter-storage-blob Panduan awal untuk menggunakan Azure Storage Blob.
spring-cloud-azure-starter-storage-file-share Panduan memulai penggunaan Azure Storage File Share.
spring-cloud-azure-starter-storage-queue Panduan memulai penggunaan Azure Storage Queue.
spring-cloud-azure-starter-actuator Starter untuk menggunakan Actuator Spring Boot, yang menyediakan fitur yang siap digunakan di lingkungan produksi.

Tabel berikut ini mencantumkan starter untuk dukungan Spring Data:

Nama Deskripsi
spring-cloud-azure-starter-data-cosmos Paket awal untuk penggunaan Spring Data pada Azure Cosmos DB.

Tabel berikut ini mencantumkan starter untuk dukungan Spring Data Redis:

Nama Deskripsi
spring-cloud-azure-starter-data-redis-lettuce Paket awal untuk menggunakan Spring Data dan Azure Cache for Redis dengan Lettuce.

Tabel berikut mencantumkan starter untuk dukungan Spring Integration:

Nama Deskripsi
spring-cloud-azure-starter-integration-eventhubs Paket awal untuk menggunakan Azure Event Hubs dan Spring Integration.
spring-cloud-azure-starter-integration-servicebus Paket awal untuk menggunakan Azure Service Bus dan Spring Integration.
spring-cloud-azure-starter-integration-storage-queue Starter untuk menggunakan Azure Storage Queue dan Spring Integration.

Tabel berikut mencantumkan starter yang mendukung Spring Cloud Stream:

Nama Deskripsi
spring-cloud-azure-starter-stream-eventhubs Paket awal untuk menggunakan Azure Event Hubs dan Spring Cloud Stream Binder.
spring-cloud-azure-starter-stream-servicebus Paket awal untuk penggunaan Azure Service Bus dan Spring Cloud Stream Binder.

Tabel berikut ini mencantumkan starter untuk dukungan MySQL:

Nama Deskripsi
spring-cloud-azure-starter-jdbc-mysql Starter untuk menggunakan Azure MySQLs dan JDBC melalui autentikasi Microsoft Entra.

Tabel berikut ini mencantumkan starter untuk dukungan PostgreSQL:

Nama Deskripsi
spring-cloud-azure-starter-jdbc-postgresql Panduan awal untuk menggunakan Azure PostgreSQL dan JDBC melalui autentikasi Microsoft Entra.

Mempelajari Azure Spring Cloud

Untuk daftar lengkap sampel yang memperlihatkan penggunaan, lihat Sampel Azure Spring Cloud.

Apa yang baru di 4.0 sejak 3.10.x

Dokumentasi ini mencakup perubahan yang dilakukan dalam 4.0 sejak 3.10. Rilis utama ini menghadirkan keamanan yang lebih baik, dependensi yang lebih ramping, dukungan untuk kesiapan produksi, dan banyak lagi.

Tips

Untuk informasi selengkapnya tentang migrasi ke 4.0, lihat panduan Migrasi untuk 4.0.

Daftar berikut ini merangkum beberapa perubahan yang disediakan Spring Cloud Azure 4.0:

  • Pengalaman pengembangan terpadu, dengan nama proyek terpadu, ID artefak, dan properti.
  • Manajemen dependensi yang disederhanakan menggunakan satu spring-cloud-azure-dependencies BOM.
  • Memperluas Azure support pada Spring Initializr untuk mencakup Kafka, Azure Event Hubs, Azure Cache for Redis, dan Azure App Configuration.
  • Merancang ulang arsitektur dependensi modul Spring untuk menghilangkan lapisan berlebih dan keterikatan.
  • Dukungan Identitas Terkelola untuk Azure App Configuration, Azure Event Hubs, Bus Layanan, Azure Cosmos DB, Key Vault, Blob Penyimpanan, dan Antrean Penyimpanan.
  • Dukungan berkelanjutan untuk metode autentikasi dalam Azure SDK yang mendasari pustaka Spring kami, seperti token SAS dan autentikasi kredensial token untuk Bus Layanan dan Event Hubs.
  • Rantai kredensial sekarang diaktifkan secara default, memungkinkan aplikasi untuk mendapatkan kredensial dari properti aplikasi, variabel lingkungan, identitas terkelola, IDEs, dan sebagainya. Untuk informasi selengkapnya, lihat bagian DefaultAzureCredential di Azure Identity client library for Java.
  • Kontrol akses terperinci di tingkat sumber daya (seperti antrean Bus Layanan) untuk memungkinkan tata kelola dan kepatuhan keamanan yang lebih baik terhadap kebijakan TI.
  • Lebih banyak opsi tersedia dengan cara yang idiomatis ala Spring melalui peningkatan cakupan autokonfigurasi untuk klien Azure SDK, baik untuk skenario sinkron maupun asinkron.
  • Menambahkan indikator kesehatan untuk Azure App Configuration, Azure Event Hubs, Azure Cosmos DB, Key Vault, Blob Penyimpanan, Antrean Penyimpanan, dan File Penyimpanan.
  • Dukungan Spring Cloud Sleuth untuk semua Azure SDK berbasis HTTP.