Ontwikkelaarshandleiding voor Spring Cloud Azure
Dit artikel is van toepassing op:✅ versie 4.19.0 ✅ versie 5.19.0
Spring is een opensource-toepassingsframework dat is ontwikkeld door VMware en biedt een vereenvoudigde, modulaire benadering voor het maken van Java-toepassingen. Spring Cloud Azure is een opensource-project dat naadloze Spring-integratie met Azure biedt.
Zie Spring Versions Mappingvoor meer informatie over ondersteunde versies.
Hulp krijgen
Als u vragen hebt over deze documentatie, maakt u een GitHub-probleem in een van de volgende GitHub-opslagplaatsen. Pull-aanvragen zijn ook welkom.
GitHub-opslagplaatsen | Beschrijving |
---|---|
Azure/azure-sdk-for-java- | Deze opslagplaats bevat de broncode. |
MicrosoftDocs/azure-dev-docs | Deze opslagplaats bevat de documentatie. |
Wat is er nieuw in 4.0 sinds 3.10.x
Deze documentatie bevat informatie over wijzigingen die zijn aangebracht in 4.0 sinds 3.10. Deze grote release biedt betere beveiliging, leaner afhankelijkheden, ondersteuning voor productiegereedheid en meer.
Fooi
Zie Migratiehandleiding voor 4.0voor meer informatie over migreren naar 4.0.
De volgende lijst bevat een overzicht van enkele van de wijzigingen die Spring Cloud Azure 4.0 biedt:
- Een uniforme ontwikkelervaring, met uniforme projectnaam, artefact-id en eigenschappen.
- Vereenvoudigd afhankelijkheidsbeheer met één
spring-cloud-azure-dependencies
BOM. - Uitgebreide Azure-ondersteuning op Spring Initializr- voor Kafka, Event Hubs, Azure Cache voor Redis en Azure App Configuration.
- Opnieuw gearchitecteerde Spring-moduleafhankelijkheden om overtollige lagen en verstrengeling te verwijderen.
- Ondersteuning voor beheerde identiteiten voor Azure App Configuration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Storage Blob en Storage Queue.
- Ondersteuning voor verificatiemethoden in de onderliggende Azure SDK van onze Spring-bibliotheken, zoals SAS-token- en tokenreferentieverificatie met Service Bus en Event Hubs.
- Referentieketen is nu standaard ingeschakeld, zodat toepassingen referenties kunnen ophalen uit toepassingseigenschappen, omgevingsvariabelen, beheerde identiteit, IDE's enzovoort. Zie de sectie DefaultAzureCredential van Azure Identity-clientbibliotheek voor Javavoor meer informatie.
- Gedetailleerd toegangsbeheer op resourceniveau (zoals Service Bus-wachtrij) om beter beveiligingsbeheer en naleving van IT-beleid mogelijk te maken.
- Meer opties die op een spring-idiomatische manier worden weergegeven door een verbeterde automatische configuratiedekking van Azure SDK-clients voor zowel synchrone als asynchrone scenario's.
- Statusindicatoren toegevoegd voor Azure App Configuration, Event Hubs, Azure Cosmos DB, Key Vault, Storage Blob, Storage Queue en Storage File.
- Spring Cloud Sleuth-ondersteuning voor alle OP HTTP gebaseerde Azure SDK's.
Migratiehandleiding voor 4.0
Zie Migratiehandleiding voor 4.0voor meer informatie over migreren naar 4.0.
Slag
Afhankelijkheden instellen
Stuklijst (stuklijst)
Als u Maven gebruikt, voegt u de bom toe aan uw pom.xml-bestand in de sectie dependencyManagement
, zoals wordt weergegeven in het volgende voorbeeld. Wanneer u de BOM gebruikt, hoeft u geen versies op te geven voor een van de Maven-afhankelijkheden, omdat versiebeheer is gedelegeerd aan de bom.
<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>
Met Gradle kunt u de spring-cloud-azure-dependencies
bom op de volgende manieren importeren:
Gebruik de systeemeigen BOM-ondersteuning van Gradle door afhankelijkheden toe te voegen, zoals wordt weergegeven in het volgende voorbeeld:
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}")) }
Gebruik de
io.spring.dependency-management
-invoegtoepassing en importeer de bom independencyManagement
, zoals wordt weergegeven in het volgende voorbeeld:plugins { id("io.spring.dependency-management") version "1.1.0" } dependencyManagement { imports { mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}") } }
Zie Spring Boot Gradle Plugin Reference Guidevoor meer informatie.
Notitie
Als u Spring Boot 2.x gebruikt, moet u de spring-cloud-azure-dependencies
versie instellen op 4.19.0
.
Deze stuklijst (Bill of Material) moet worden geconfigureerd in de sectie <dependencyManagement>
van uw pom.xml-bestand. Dit zorgt ervoor dat alle Spring Cloud Azure-afhankelijkheden dezelfde versie gebruiken.
Zie Welke versie van Spring Cloud Azure moet ikgebruiken voor meer informatie over de versie die voor deze bom wordt gebruikt.
Starter-afhankelijkheden
Spring Cloud Azure Starters zijn een set handige afhankelijkheidsdescriptors die u in uw toepassing kunt opnemen. Elke starter bevat alle afhankelijkheden en transitieve afhankelijkheden die nodig zijn om de bijbehorende Spring Cloud Azure-module te gaan gebruiken. Deze starters stimuleren de ontwikkeling van uw Spring Boot-toepassing met Azure-services.
Als u bijvoorbeeld aan de slag wilt met Spring en Azure Cosmos DB voor gegevenspersistentie, neemt u de spring-cloud-azure-starter-cosmos
afhankelijkheid in uw project op.
De volgende tabel bevat toepassingsstarters die door Spring Cloud Azure worden geleverd onder de com.azure.spring
groep:
Naam | Beschrijving |
---|---|
spring-cloud-azure-starter | De kernstarter, inclusief ondersteuning voor automatische configuratie. |
spring-cloud-azure-starter-active-directory | De starter voor het gebruik van Microsoft Entra ID met Spring Security. |
spring-cloud-azure-starter-active-directory-b2c | De starter voor het gebruik van Azure Active Directory B2C met Spring Security. |
spring-cloud-azure-starter-appconfiguration | De starter voor het gebruik van Azure App Configuration. |
spring-cloud-azure-starter-cosmos | De starter voor het gebruik van Azure Cosmos DB. |
spring-cloud-azure-starter-eventhubs | De starter voor het gebruik van Azure Event Hubs. |
spring-cloud-azure-starter-keyvault | De starter voor het gebruik van Azure Key Vault. |
spring-cloud-azure-starter-keyvault-secrets | De starter voor het gebruik van Azure Key Vault-geheimen. |
spring-cloud-azure-starter-keyvault-certificates | De starter voor het gebruik van Azure Key Vault-certificaten. |
spring-cloud-azure-starter-servicebus | De starter voor het gebruik van Azure Service Bus. |
spring-cloud-azure-starter-servicebus-jms | De starter voor het gebruik van Azure Service Bus en JMS. |
spring-cloud-azure-starter-storage | De starter voor het gebruik van Azure Storage. |
spring-cloud-azure-starter-storage-blob | De starter voor het gebruik van Azure Storage Blob. |
spring-cloud-azure-starter-storage-file-share | De starter voor het gebruik van Azure Storage-bestandsshare. |
spring-cloud-azure-starter-storage-queue | De starter voor het gebruik van Azure Storage Queue. |
spring-cloud-azure-starter-actuator | De starter voor het gebruik van Spring Boot's Actuator, die productieklare functies biedt. |
De volgende tabel bevat starters voor Spring Data-ondersteuning:
Naam | Beschrijving |
---|---|
spring-cloud-azure-starter-data-cosmos | De starter voor het gebruik van Spring Data voor Azure Cosmos DB. |
De volgende tabel bevat starters voor Spring Integration-ondersteuning:
Naam | Beschrijving |
---|---|
spring-cloud-azure-starter-integration-eventhubs | De starter voor het gebruik van Azure Event Hubs en Spring Integration. |
spring-cloud-azure-starter-integration-servicebus | De starter voor het gebruik van Azure Service Bus en Spring Integration. |
spring-cloud-azure-starter-integration-storage-queue | De starter voor het gebruik van Azure Storage Queue en Spring Integration. |
De volgende tabel bevat starters voor Spring Cloud Stream-ondersteuning:
Naam | Beschrijving |
---|---|
spring-cloud-azure-starter-stream-eventhubs | De starters voor het gebruik van Azure Event Hubs en Spring Cloud Stream Binder. |
spring-cloud-azure-starter-stream-servicebus | De starter voor het gebruik van Azure Service Bus en Spring Cloud Stream Binder. |
De volgende tabel bevat starters voor MySQL-ondersteuning:
Naam | Beschrijving |
---|---|
spring-cloud-azure-starter-jdbc-mysql | De starters voor het gebruik van Azure MySQLs en JDBC via Microsoft Entra-verificatie. |
De volgende tabel bevat starters voor PostgreSQL-ondersteuning:
Naam | Beschrijving |
---|---|
spring-cloud-azure-starter-jdbc-postgresql | De starters voor het gebruik van Azure PostgreSQL en JDBC via Microsoft Entra-verificatie. |
Spring Boot 3 configureren
Azure SDK JAR's vereisen handtekeningverificatie. Spring Boot 3 biedt echter geen ondersteuning voor de JAR-handtekeningverificatie voor de AOT-modus (Vooruit-of-time) op een JVM en voor systeemeigen installatiekopieën. Zie Ahead-of-Time Processing gebruiken met de JVM- en GraalVM Native Image Supportvoor meer informatie.
Als u dit probleem wilt oplossen, schakelt u de VERIFICATIE van de JAR-handtekening uit.
Maak een bestand custom.security in src/main/resources met de volgende inhoud:
jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
Als u Maven gebruikt, voegt u de volgende configuratie toe:
<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>
Als u Gradle gebruikt, voegt u de volgende configuratie toe:
graalvmNative { binaries { main { buildArgs('-Djava.security.properties=' + file("$rootDir/custom.security").absolutePath) } } }
Spring Cloud Azure leren
Zie Spring Cloud Azure Samplesvoor een volledige lijst met voorbeelden met gebruik.