Příručka pro vývojáře v Spring Cloudu v Azure
Tento článek se vztahuje na:✅ verze 4.19.0 ✅ verze 5.19.0
Spring je opensourcová aplikační architektura vyvinutá VMware, která poskytuje zjednodušený modulární přístup pro vytváření aplikací v Javě. Spring Cloud Azure je opensourcový projekt, který poskytuje bezproblémovou integraci Springu s Azure.
Další informace o podporovaných verzích naleznete v tématu Mapování verzí Spring.
Získání nápovědy
Pokud máte nějaké dotazy k této dokumentaci, vytvořte problém s GitHubem v jednom z následujících úložišť GitHubu. Žádosti o přijetí změn jsou také vítány.
Úložiště GitHub | Popis |
---|---|
Azure/azure-sdk-for-java | Toto úložiště obsahuje zdrojový kód. |
MicrosoftDocs/azure-dev-docs | Toto úložiště obsahuje dokumentaci. |
Novinky ve verzi 4.0 od verze 3.10.x
Tato dokumentace popisuje změny provedené ve verzi 4.0 od verze 3.10. Tato hlavní verze přináší lepší zabezpečení, štíhlé závislosti, podporu připravenosti na produkční prostředí a další.
Spropitné
Další informace o migraci na verzi 4.0 najdete v průvodci migrací verze 4.0.
Následující seznam shrnuje některé změny, které poskytuje Spring Cloud Azure 4.0:
- Jednotné vývojové prostředí s jednotným názvem projektu, ID artefaktu a vlastnostmi.
- Zjednodušená správa závislostí pomocí jediného kusovníku
spring-cloud-azure-dependencies
- Rozšířená podpora Azure na Spring Initializr, která zahrnuje Kafka, Event Hubs, Azure Cache for Redis a Azure App Configuration.
- Změna závislostí modulu Spring pro odebrání nadbytečných vrstev a propletení
- Podpora spravované identity pro Azure App Configuration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Objekt blob úložiště a frontu úložiště.
- Průběžná podpora metod ověřování v podkladové sadě Azure SDK z našich knihoven Spring, jako je token SAS a ověřování přihlašovacích údajů tokenů pomocí služby Service Bus a Event Hubs.
- Řetěz přihlašovacích údajů je teď ve výchozím nastavení povolený a umožňuje aplikacím získávat přihlašovací údaje z vlastností aplikace, proměnných prostředí, spravované identity, ides atd. Další informace najdete v části DefaultAzureCredential klientské knihovny Identita Azure pro javu.
- Podrobné řízení přístupu na úrovni prostředků (například fronta Service Bus), které umožňuje lepší zásady správného řízení zabezpečení a dodržování zásad IT.
- Další možnosti zveřejněné prostřednictvím spring-idiomatic způsobu prostřednictvím vylepšeného pokrytí automatické konfigurace klientů Azure SDK pro synchronní i asynchronní scénáře.
- Přidání indikátorů stavu pro Azure App Configuration, Event Hubs, Azure Cosmos DB, Key Vault, Storage Blob, Storage Queue a Storage File
- Podpora Spring Cloud Sleuth pro všechny sady AZURE SDK založené na protokolu HTTP
Průvodce migrací pro verzi 4.0
Další informace o migraci na verzi 4.0 najdete v průvodci migrací verze 4.0.
Začínáme
Nastavení závislostí
Kusovník materiálu (KUSOVNÍK)
Pokud používáte Maven, přidejte do souboru pom.xml v části dependencyManagement
kusovník, jak je znázorněno v následujícím příkladu. Při použití kusovníku nemusíte zadávat verze pro žádné závislosti Mavenu, protože správa verzí se deleguje do kusovníku.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.19.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Pomocí Gradle můžete importovat spring-cloud-azure-dependencies
kusovníku následujícími způsoby:
Použijte nativní podporu kusovníku Gradle přidáním závislostí, jak je znázorněno v následujícím příkladu:
import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id("java") id("org.springframework.boot") version "3.2.O" } dependencies { implementation(platform(SpringBootPlugin.BOM_COORDINATES)) implementation(platform("com.azure.spring:spring-cloud-azure-dependencies:{version}")) }
Použijte modul plug-in
io.spring.dependency-management
a naimportujte kusovník vdependencyManagement
, jak je znázorněno v následujícím příkladu:plugins { id("io.spring.dependency-management") version "1.1.0" } dependencyManagement { imports { mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}") } }
Další informace naleznete v Spring Boot Gradle Referenční příručka modulu plug-in.
Poznámka
Pokud používáte Spring Boot 2.x, nezapomeňte nastavit spring-cloud-azure-dependencies
verzi na 4.19.0
.
Tato faktura materiálu (BOM) by měla být nakonfigurovaná v části <dependencyManagement>
souboru pom.xml. Tím se zajistí, že všechny závislosti Azure Spring Cloudu budou používat stejnou verzi.
Další informace o verzi použité pro tento kusovník najdete v tématu Jakou verzi Spring Cloud Azure mám použít.
Počáteční závislosti
Spring Cloud Azure Starters jsou sada pohodlných popisovačů závislostí, které se mají zahrnout do vaší aplikace. Každá úvodní sada obsahuje všechny závislosti a tranzitivní závislosti potřebné k zahájení používání odpovídajícího modulu Spring Cloud Azure. Tyto úvodní sady zvyšují vývoj aplikací Spring Boot pomocí služeb Azure.
Pokud například chcete začít používat Spring a Azure Cosmos DB pro trvalost dat, zahrňte do projektu spring-cloud-azure-starter-cosmos
závislost.
V následující tabulce jsou uvedeny úvodní sady aplikací poskytované službou Spring Cloud Azure ve skupině com.azure.spring
:
Jméno | Popis |
---|---|
spring-cloud-azure-starter | Základní sada, včetně podpory automatické konfigurace. |
spring-cloud-azure-starter-active-directory | Úvodní sada pro použití Microsoft Entra ID s Spring Security. |
spring-cloud-azure-starter-active-directory-b2c | Úvodní příručka pro použití Azure Active Directory B2C s Spring Security. |
spring-cloud-azure-starter-appconfiguration | Úvodní sada pro používání azure App Configuration. |
spring-cloud-azure-starter-cosmos | Začátek používání služby Azure Cosmos DB. |
spring-cloud-azure-starter-eventhubs | Úvodní sada pro používání služby Azure Event Hubs |
spring-cloud-azure-starter-keyvault | Úvodní sada pro použití služby Azure Key Vault. |
spring-cloud-azure-starter-keyvault-secrets | Úvodní kód pro používání tajných kódů služby Azure Key Vault. |
spring-cloud-azure-starter-keyvault-certificates | Začátek používání certifikátů služby Azure Key Vault. |
spring-cloud-azure-starter-servicebus | Úvodní sada pro používání služby Azure Service Bus. |
spring-cloud-azure-starter-servicebus-jms | Začátek používání služby Azure Service Bus a JMS. |
spring-cloud-azure-starter-storage | Úvodní sada pro použití Služby Azure Storage |
spring-cloud-azure-starter-storage-blob | Začátek použití objektu blob služby Azure Storage |
spring-cloud-azure-starter-storage-file-share | Úvodní sada pro použití sdílené složky Azure Storage. |
spring-cloud-azure-starter-storage-queue | Úvodní sada pro použití fronty azure Storage. |
spring-cloud-azure-starter-poháněcí zařízení | Úvodní sada pro použití poháněcího zařízení Spring Boot, která poskytuje funkce připravené pro produkční prostředí. |
Následující tabulka obsahuje úvodní informace o podpoře Spring Data:
Jméno | Popis |
---|---|
spring-cloud-azure-starter-data-cosmos | Začátek použití Spring Data pro Službu Azure Cosmos DB |
Následující tabulka obsahuje úvodní informace o podpoře integrace Spring:
Jméno | Popis |
---|---|
spring-cloud-azure-starter-integration-eventhubs | Úvodní sada pro použití služby Azure Event Hubs a integrace Springu |
spring-cloud-azure-starter-integration-servicebus | Úvodní příručka pro používání služby Azure Service Bus a integrace Spring. |
spring-cloud-azure-starter-integration-storage-queue | Úvodní sada pro použití fronty služby Azure Storage a integrace spring. |
Následující tabulka obsahuje úvodní informace o podpoře Spring Cloud Streamu:
Jméno | Popis |
---|---|
spring-cloud-azure-starter-stream-eventhubs | Začátek použití služby Azure Event Hubs a Spring Cloud Stream Binderu |
spring-cloud-azure-starter-stream-servicebus | Úvodní příručka pro používání služby Azure Service Bus a Spring Cloud Stream Binderu |
Následující tabulka obsahuje úvodní informace o podpoře MySQL:
Jméno | Popis |
---|---|
spring-cloud-azure-starter-jdbc-mysql | Začátek používání seznamů Azure MySQLs a JDBC prostřednictvím ověřování Microsoft Entra. |
Následující tabulka obsahuje úvodní informace o podpoře PostgreSQL:
Jméno | Popis |
---|---|
spring-cloud-azure-starter-jdbc-postgresql | Začátek použití Azure PostgreSQL a JDBC prostřednictvím ověřování Microsoft Entra. |
Konfigurace Spring Bootu 3
Žádosti o přijetí změn v sadě Azure SDK vyžadují ověření podpisu. Spring Boot 3 ale nepodporuje ověřování podpisu JAR v režimu AOT (Head-of Time) v prostředí JVM a nativních imagí. Další informace najdete v tématu Použití předem určeného zpracování pomocí prostředí JVM a podpora nativních imagí graalVM.
Pokud chcete tento problém vyřešit, zakažte ověření podpisu JAR.
Vytvořte soubor custom.security v src/main/resources s následujícím obsahem:
jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
Pokud používáte Maven, přidejte následující konfiguraci:
<plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> <configuration> <buildArgs> <arg>-Djava.security.properties=src/main/resources/custom.security</arg> </buildArgs> </configuration> </plugin>
Pokud používáte Gradle, přidejte následující konfiguraci:
graalvmNative { binaries { main { buildArgs('-Djava.security.properties=' + file("$rootDir/custom.security").absolutePath) } } }
Výuka Spring Cloud v Azure
Úplný seznam ukázek, které ukazují využití, najdete v tématu Ukázky Azure Spring Cloud.