Skip to content

Azure-Samples/azure-spring-boot-samples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CodeQL CI Markdown Links Check

Spring Cloud Azure Samples

1. Branches and Tags

  • If you are using Spring Boot 3.x, you should choose Spring Cloud Azure 5.x. Related samples are in main branch.
  • If you are using Spring Boot 2.x, you should choose Spring Cloud Azure 4.x. Related samples are in spring-boot-2.x branch.
  • If you want to find sample about specific version of Spring Cloud Azure, please switch to corresponding tag in this repository.

2. Sample List

2.1 Microsoft Entra ID

Sample Project Spring Boot 3.x Spring Boot 2.x
aad-resource-server-by-filter βœ… link βœ… link
aad-resource-server-by-filter-stateless βœ… link βœ… link
aad-web-application-and-resource-server βœ… link βœ… link
web-client-access-resource-server βœ… link βœ… link
aad-b2c-resource-server βœ… link βœ… link
aad-b2c-web-application βœ… link βœ… link
spring-security-samples βœ… link βœ… link

2.2 Azure App Configuration

Sample Project Spring Boot 3.x Spring Boot 2.x
spring-cloud-azure-appconfiguration-config-convert-sample-complete βœ… link βœ… link
spring-cloud-azure-appconfiguration-config-convert-sample-initial βœ… link βœ… link
spring-cloud-azure-appconfiguration-config-sample βœ… link βœ… link
spring-cloud-azure-feature-management-sample βœ… link βœ… link
spring-cloud-azure-feature-management-web-sample βœ… link βœ… link
spring-cloud-azure-targeting-filter-web-sample βœ… link βœ… link
spring-cloud-azure-starter-appconfiguration-config-sample βœ… link βœ… link
spring-cloud-azure-starter-appconfiguration-config-entraid-sample βœ… link βœ… link
appconfiguration-client βœ… link βœ… link

2.3 Azure Cache

Sample Project Spring Boot 3.x Spring Boot 2.x
spring-cloud-azure-cache-sample βœ… link βœ… link
spring-cloud-azure-cache-passwordless-sample βœ… link βœ… link

2.4 Azure Cosmos DB

Sample Project Spring Boot 3.x Spring Boot 2.x
cosmos-aad-sample βœ… link βœ… link
cosmos-multi-database-multi-account βœ… link βœ… link
cosmos-multi-database-single-account βœ… link βœ… link
cosmos-multi-tenant-by-container βœ… link βœ… link
cosmos-multi-tenant-by-database βœ… link βœ… link
cosmos-mvc-sample βœ… link βœ… link
cosmos-quickstart-samples βœ… link βœ… link
spring-cloud-azure-data-cosmos-sample βœ… link βœ… link
spring-cloud-azure-cosmos-sample βœ… link βœ… link

2.5 Azure Event Grid

Sample Project Spring Boot 3.x Spring Boot 2.x
spring-cloud-azure-sample-eventgrid βœ… link ❌

2.6 Azure Event Hubs

Sample Project Spring Boot 3.x Spring Boot 2.x
spring-cloud-azure-sample-eventhubs-kafka βœ… link βœ… link
eventhubs-integration βœ… link βœ… link
eventhubs-binder βœ… link βœ… link
eventhubs-multibinders βœ… link βœ… link
eventhubs-client βœ… link βœ… link
eventhubs-spring-messaging βœ… link βœ… link

2.7 Azure Key Vault

Sample Project Spring Boot 3.x Spring Boot 2.x
keyvault-certificates-client-side ❌ βœ… link
keyvault-certificates-server-side ❌ βœ… link
ssl-bundles-rest-template βœ… link ❌
ssl-bundles-server βœ… link ❌
ssl-bundles-web-client βœ… link ❌
run-with-command-line-server-side βœ… link βœ… link
run-with-command-line-client-side βœ… link βœ… link
property-source βœ… link βœ… link
secret-client βœ… link βœ… link

2.8 Azure Database for MySQL

Sample Project Spring Boot 3.x Spring Boot 2.x
spring-cloud-azure-mysql-sample βœ… link βœ… link

2.9 Azure Database for PostgreSQL

Sample Project Spring Boot 3.x Spring Boot 2.x
spring-cloud-azure-postgresql-sample βœ… link βœ… link

2.10 Azure Service Bus

Sample Project Spring Boot 3.x Spring Boot 2.x
servicebus-queue βœ… link βœ… link
servicebus-topic βœ… link βœ… link
servicebus-jms-dlq-queue βœ… link ❌
servicebus-jms-queue βœ… link βœ… link
servicebus-jms-topic βœ… link βœ… link
single-namespace βœ… link βœ… link
multiple-namespaces βœ… link βœ… link
servicebus-queue-binder βœ… link βœ… link
servicebus-queue-multibinders βœ… link βœ… link
servicebus-topic-binder βœ… link βœ… link
servicebus-queue-binder-arm βœ… link βœ… link
servicebus-spring-messaging βœ… link βœ… link

2.11 Azure Storage

Sample Project Spring Boot 3.x Spring Boot 2.x
storage-blob-sample βœ… link βœ… link
storage-file-sample βœ… link βœ… link
storage-queue-client βœ… link βœ… link
storage-queue-integration βœ… link βœ… link
storage-queue-operation βœ… link βœ… link
storage-queue-spring-messaging βœ… link βœ… link

2.12 Spring PetClinic

Sample Project Spring Boot 3.x Spring Boot 2.x
spring-petclinic-microservices ❌ βœ… link

2.13 TestContainers Support

Sample Project Spring Boot 3.x Spring Boot 2.x
testContainers for Cosmos βœ… link ❌
testContainers for Storage Blob βœ… link ❌
testContainers for Storage Queue βœ… link ❌

3. Work with Spring Native

Since we removed the parent pom, the Profiles native-5.x and nativeTest-5.x are removed either. They are variants of the two profiles native and nativeTest provided by spring-boot-starter-parent of Spring Boot 3, and they have the same function. So if you want to use them, just add them into your current pom:

    <profile>
      <id>native-5.x</id>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <configuration>
                <image>
                  <builder>paketobuildpacks/builder:tiny</builder>
                  <env>
                    <BP_NATIVE_IMAGE>true</BP_NATIVE_IMAGE>
                  </env>
                </image>
              </configuration>
              <executions>
                <execution>
                  <id>process-aot</id>
                  <goals>
                    <goal>process-aot</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
            <plugin>
              <groupId>org.graalvm.buildtools</groupId>
              <artifactId>native-maven-plugin</artifactId>
              <configuration>
                <classesDirectory>${project.build.outputDirectory}</classesDirectory>
                <metadataRepository>
                  <enabled>true</enabled>
                </metadataRepository>
                <requiredVersion>22.3</requiredVersion>
              </configuration>
              <executions>
                <execution>
                  <id>add-reachability-metadata</id>
                  <goals>
                    <goal>add-reachability-metadata</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>nativeTest-5.x</id>
      <dependencies>
        <dependency>
          <groupId>org.junit.platform</groupId>
          <artifactId>junit-platform-launcher</artifactId>
          <scope>test</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>process-test-aot</id>
                <goals>
                  <goal>process-test-aot</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.graalvm.buildtools</groupId>
            <artifactId>native-maven-plugin</artifactId>
            <configuration>
              <classesDirectory>${project.build.outputDirectory}</classesDirectory>
              <metadataRepository>
                <enabled>true</enabled>
              </metadataRepository>
              <requiredVersion>22.3</requiredVersion>
            </configuration>
            <executions>
              <execution>
                <id>native-test</id>
                <goals>
                  <goal>test</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

4. Getting Help