diff --git a/eng/.docsettings.yml b/eng/.docsettings.yml
index 13d324e0dd67f..12ec946c43ae2 100644
--- a/eng/.docsettings.yml
+++ b/eng/.docsettings.yml
@@ -147,9 +147,9 @@ known_content_issues:
- ['sdk/storage/README.md', '#3113']
- ['sdk/tools/azure-sdk-archetype/README.md', '#3113']
- ['sdk/tools/azure-sdk-build-tool/README.md', '#3113']
- - ['sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/README.md', '#3113']
- - ['sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/README.md', '#3113']
- - ['sdk/appconfiguration/azure-spring-cloud-feature-management-web/README.md', '#3113']
+ - ['sdk/appconfiguration/spring-cloud-azure-appconfiguration-config-web/README.md', '#3113']
+ - ['sdk/appconfiguration/spring-cloud-azure-appconfiguration-config/README.md', '#3113']
+ - ['sdk/appconfiguration/spring-cloud-azure-feature-management-web/README.md', '#3113']
package_indexing_exclusion_list:
- azure-loganalytics-sample
diff --git a/eng/code-quality-reports/src/main/java/com/azure/tools/revapi/transforms/AzureSdkAllowedExternalApis.java b/eng/code-quality-reports/src/main/java/com/azure/tools/revapi/transforms/AzureSdkAllowedExternalApis.java
index 38c2e7f37d3b4..7ccfb570b1cab 100644
--- a/eng/code-quality-reports/src/main/java/com/azure/tools/revapi/transforms/AzureSdkAllowedExternalApis.java
+++ b/eng/code-quality-reports/src/main/java/com/azure/tools/revapi/transforms/AzureSdkAllowedExternalApis.java
@@ -75,12 +75,15 @@ private static ExternalApiStatus shouldExternalApiBeIgnored(TypeElement element)
|| "core.".regionMatches(0, className, 10, 5)
|| "cosmos.".regionMatches(0, className, 10, 7)
|| "data.schemaregistry.".regionMatches(0, className, 10, 20)
+ || "data.appconfiguration.".regionMatches(0, className, 10, 22)
|| "json.".regionMatches(0, className, 10, 5)
|| "messaging.eventgrid.".regionMatches(0, className, 10, 20)
|| "messaging.eventhubs.".regionMatches(0, className, 10, 20)
|| "messaging.servicebus.".regionMatches(0, className, 10, 21)
|| "resourcemanager.".regionMatches(0, className, 10, 16)
|| "security.keyvault.".regionMatches(0, className, 10, 18)
+ || "spring.cloud.config.".regionMatches(0, className, 10, 20)
+ || "spring.cloud.feature.".regionMatches(0, className, 10, 21)
|| "storage.".regionMatches(0, className, 10, 8)) {
return ExternalApiStatus.SDK_CLASSES;
} else if ("perf.test.core.".regionMatches(0, className, 10, 15)) {
diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index dff019c3ae4f3..533600779881d 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -177,11 +177,11 @@ com.azure:perf-test-core;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-communication-email;1.0.0-beta.1;1.0.0-beta.2
com.azure:azure-developer-loadtesting;1.0.0-beta.2;1.0.0-beta.3
com.azure:azure-identity-extensions;1.1.1;1.2.0-beta.2
-com.azure.spring:azure-spring-cloud-appconfiguration-config-web;2.11.0;2.12.0-beta.1
-com.azure.spring:azure-spring-cloud-appconfiguration-config;2.11.0;2.12.0-beta.1
-com.azure.spring:azure-spring-cloud-feature-management-web;2.10.0;2.11.0-beta.1
-com.azure.spring:azure-spring-cloud-feature-management;2.10.0;2.11.0-beta.1
-com.azure.spring:azure-spring-cloud-starter-appconfiguration-config;2.11.0;2.12.0-beta.1
+com.azure.spring:spring-cloud-azure-appconfiguration-config-web;2.11.0;4.0.0-beta.1
+com.azure.spring:spring-cloud-azure-appconfiguration-config;2.11.0;4.0.0-beta.1
+com.azure.spring:spring-cloud-azure-feature-management-web;2.10.0;4.0.0-beta.3
+com.azure.spring:spring-cloud-azure-feature-management;2.10.0;4.0.0-beta.3
+com.azure.spring:spring-cloud-azure-starter-appconfiguration-config;2.11.0;4.0.0-beta.1
com.azure.spring:spring-cloud-azure-dependencies;4.6.0;4.7.0-beta.1
com.azure.spring:spring-messaging-azure;4.6.0;4.7.0-beta.1
com.azure.spring:spring-messaging-azure-eventhubs;4.6.0;4.7.0-beta.1
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/pom.xml b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/pom.xml
deleted file mode 100644
index a260cfb2f8412..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/pom.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
- com.azure
- azure-client-sdk-parent
- 1.7.0
- ../../parents/azure-client-sdk-parent
-
- 4.0.0
-
- com.azure.spring
- azure-spring-cloud-appconfiguration-config-web
- 2.12.0-beta.1
- Azure Spring Cloud App Configuration Config Web
- Integration of Spring Cloud Config and Azure App Configuration Service
-
-
- false
-
-
-
-
-
-
- com.azure.spring
- azure-spring-cloud-appconfiguration-config
- 2.12.0-beta.1
-
-
- org.springframework.boot
- spring-boot-starter-web
- 2.7.8
-
-
- org.springframework.boot
- spring-boot-starter-actuator
- 2.7.8
- true
-
-
- org.springframework.cloud
- spring-cloud-bus
- 3.1.2
- true
-
-
- org.junit.vintage
- junit-vintage-engine
- 5.9.1
- test
-
-
- org.hamcrest
- hamcrest-core
-
-
-
-
- junit
- junit
- 4.13.2
- test
-
-
- org.mockito
- mockito-core
- 4.5.1
- test
-
-
- org.springframework.boot
- spring-boot-starter-test
- 2.7.8
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-enforcer-plugin
- 3.0.0-M3
-
-
-
-
- org.springframework.boot:spring-boot-starter-actuator:[2.7.8]
- org.springframework.boot:spring-boot-starter-web:[2.7.8]
- org.springframework.cloud:spring-cloud-bus:[3.1.2]
-
-
-
-
-
-
-
-
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/src/main/java/com/azure/spring/cloud/config/web/pullrefresh/package-info.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/src/main/java/com/azure/spring/cloud/config/web/pullrefresh/package-info.java
deleted file mode 100644
index dfab3be760bc5..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/src/main/java/com/azure/spring/cloud/config/web/pullrefresh/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-/**
- * Package contains classes for pull bus refresh requests.
- */
-package com.azure.spring.cloud.config.web.pullrefresh;
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/src/main/java/com/azure/spring/cloud/config/web/pushbusrefresh/package-info.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/src/main/java/com/azure/spring/cloud/config/web/pushbusrefresh/package-info.java
deleted file mode 100644
index 5ab2a133144f1..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/src/main/java/com/azure/spring/cloud/config/web/pushbusrefresh/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-/**
- * Package contains classes for push bus refresh requests.
- */
-package com.azure.spring.cloud.config.web.pushbusrefresh;
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/src/main/java/com/azure/spring/cloud/config/web/pushrefresh/package-info.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/src/main/java/com/azure/spring/cloud/config/web/pushrefresh/package-info.java
deleted file mode 100644
index 5c9c7c260e9ba..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config-web/src/main/java/com/azure/spring/cloud/config/web/pushrefresh/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-/**
- * Package contains classes for push refresh requests.
- */
-package com.azure.spring.cloud.config.web.pushrefresh;
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/pom.xml b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/pom.xml
deleted file mode 100644
index 5b768a3e94456..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/pom.xml
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-
- com.azure
- azure-client-sdk-parent
- 1.7.0
- ../../parents/azure-client-sdk-parent
-
- 4.0.0
-
- com.azure.spring
- azure-spring-cloud-appconfiguration-config
- 2.12.0-beta.1
- Azure Spring Cloud App Configuration Config
- Integration of Spring Cloud Config and Azure App Configuration Service
-
-
- false
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-autoconfigure-processor
- 2.7.8
-
-
- org.springframework.boot
- spring-boot-autoconfigure
- 2.7.8
-
-
- org.springframework.boot
- spring-boot-configuration-processor
- 2.7.8
- true
-
-
- org.springframework.cloud
- spring-cloud-starter-bootstrap
- 3.1.5
-
-
- org.springframework.cloud
- spring-cloud-context
- 3.1.5
-
-
- com.fasterxml.jackson.core
- jackson-annotations
- 2.13.4
-
-
- com.fasterxml.jackson.core
- jackson-databind
- 2.13.4.2
-
-
-
- com.azure
- azure-core
- 1.36.0
-
-
- com.azure
- azure-data-appconfiguration
- 1.4.1
-
-
- com.azure
- azure-identity
- 1.8.0
-
-
- com.azure
- azure-security-keyvault-secrets
- 4.5.3
-
-
- com.azure
- azure-core-http-netty
- 1.13.0
-
-
- org.hibernate.validator
- hibernate-validator
- 6.2.5.Final
-
-
- org.springframework.boot
- spring-boot-actuator-autoconfigure
- 2.7.8
-
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- 2.7.8
- test
-
-
-
-
- com.google.code.findbugs
- jsr305
- 3.0.2
- provided
-
-
- javax.annotation
- javax.annotation-api
- 1.3.2
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-enforcer-plugin
- 3.0.0-M3
-
-
-
-
- com.fasterxml.jackson.core:jackson-annotations:[2.13.4]
- com.fasterxml.jackson.core:jackson-databind:[2.13.4.2]
- javax.annotation:javax.annotation-api:[1.3.2]
- org.apache.commons:commons-lang3:[3.12.0]
- org.apache.httpcomponents:httpclient:[4.5.14]
- org.hibernate.validator:hibernate-validator:[6.2.5.Final]
- org.springframework.boot:spring-boot-autoconfigure-processor:[2.7.8]
- org.springframework.boot:spring-boot-autoconfigure:[2.7.8]
- org.springframework.boot:spring-boot-actuator-autoconfigure:[2.7.8]
- org.springframework.boot:spring-boot-configuration-processor:[2.7.8]
- org.springframework.cloud:spring-cloud-context:[3.1.5]
- org.springframework.cloud:spring-cloud-starter-bootstrap:[3.1.5]
- org.springframework:spring-web:[5.3.25]
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.1.2
-
-
-
- true
- true
-
-
-
-
-
-
-
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/AppConfigurationBootstrapConfiguration.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/AppConfigurationBootstrapConfiguration.java
deleted file mode 100644
index 7f5a750de657f..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/AppConfigurationBootstrapConfiguration.java
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-package com.azure.spring.cloud.config;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import com.azure.spring.cloud.config.implementation.AppConfigurationPropertySourceLocator;
-import com.azure.spring.cloud.config.implementation.AppConfigurationReplicaClientFactory;
-import com.azure.spring.cloud.config.implementation.AppConfigurationReplicaClientsBuilder;
-import com.azure.spring.cloud.config.properties.AppConfigurationProperties;
-import com.azure.spring.cloud.config.properties.AppConfigurationProviderProperties;
-
-/**
- * Setup ConnectionPool, AppConfigurationPropertySourceLocator, and ClientStore when
- * spring.cloud.azure.appconfiguration.enabled is enabled.
- */
-@Configuration
-@EnableConfigurationProperties({ AppConfigurationProperties.class, AppConfigurationProviderProperties.class })
-@ConditionalOnClass(AppConfigurationPropertySourceLocator.class)
-@ConditionalOnProperty(prefix = AppConfigurationProperties.CONFIG_PREFIX, name = "enabled", matchIfMissing = true)
-public class AppConfigurationBootstrapConfiguration {
-
- @Autowired
- private transient ApplicationContext context;
-
- /**
- *
- * @param properties Client properties
- * @param appProperties Library properties
- * @param clientFactory Store Connections
- *
- * @return AppConfigurationPropertySourceLocator
- * @throws IllegalArgumentException if both KeyVaultClientProvider and KeyVaultSecretProvider exist.
- */
- @Bean
- AppConfigurationPropertySourceLocator sourceLocator(AppConfigurationProperties properties,
- AppConfigurationProviderProperties appProperties, AppConfigurationReplicaClientFactory clientFactory)
- throws IllegalArgumentException {
-
- KeyVaultCredentialProvider keyVaultCredentialProvider = context
- .getBeanProvider(KeyVaultCredentialProvider.class).getIfAvailable();
- SecretClientBuilderSetup keyVaultClientProvider = context.getBeanProvider(SecretClientBuilderSetup.class)
- .getIfAvailable();
- KeyVaultSecretProvider keyVaultSecretProvider = context.getBeanProvider(KeyVaultSecretProvider.class)
- .getIfAvailable();
-
- if (keyVaultClientProvider != null && keyVaultSecretProvider != null) {
- throw new IllegalArgumentException(
- "KeyVaultClientProvider and KeyVaultSecretProvider both can't have Beans supplied.");
- }
-
- return new AppConfigurationPropertySourceLocator(properties, appProperties, clientFactory,
- keyVaultCredentialProvider, keyVaultClientProvider, keyVaultSecretProvider);
- }
-
- /**
- * Factory for working with App Configuration Clients
- *
- * @param clientBuilder Builder for configuration clients
- * @param properties Client configurations for setting up connections to each config store.
- * @return AppConfigurationReplicaClientFactory
- */
- @Bean
- @ConditionalOnMissingBean
- AppConfigurationReplicaClientFactory replicaClientFactory(AppConfigurationReplicaClientsBuilder clientBuilder,
- AppConfigurationProperties properties) {
- return new AppConfigurationReplicaClientFactory(clientBuilder, properties);
- }
-
- /**
- * Builder for clients connecting to App Configuration.
- *
- * @param properties Client configurations for setting up connections to each config store.
- * @param appProperties Library configurations for setting up connections to each config store.
- * @param tokenCredentialProviderOptional Optional provider for overriding Token Credentials for connecting to App
- * Configuration.
- * @param clientProviderOptional Optional client for overriding Client Connections to App Configuration stores.
- * @param keyVaultCredentialProviderOptional optional provider, used to see if Key Vault is configured
- * @param keyVaultClientProviderOptional optional client, used to see if Key Vault is configured
- * @return ClientStore
- */
- @Bean
- @ConditionalOnMissingBean
- AppConfigurationReplicaClientsBuilder replicaClientBuilder(AppConfigurationProperties properties,
- AppConfigurationProviderProperties appProperties) {
-
- AppConfigurationReplicaClientsBuilder clientBuilder = new AppConfigurationReplicaClientsBuilder(
- appProperties.getMaxRetries());
-
- clientBuilder.setTokenCredentialProvider(
- context.getBeanProvider(AppConfigurationCredentialProvider.class).getIfAvailable());
- clientBuilder
- .setClientProvider(context.getBeanProvider(ConfigurationClientBuilderSetup.class).getIfAvailable());
-
- KeyVaultCredentialProvider keyVaultCredentialProvider = context
- .getBeanProvider(KeyVaultCredentialProvider.class).getIfAvailable();
- SecretClientBuilderSetup keyVaultClientProvider = context.getBeanProvider(SecretClientBuilderSetup.class)
- .getIfAvailable();
-
- if (keyVaultCredentialProvider != null || keyVaultClientProvider != null) {
- clientBuilder.setKeyVaultConfigured(true);
- }
-
- if (properties.getManagedIdentity() != null) {
- clientBuilder.setClientId(properties.getManagedIdentity().getClientId());
- }
-
- return clientBuilder;
- }
-}
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/AppConfigurationCredentialProvider.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/AppConfigurationCredentialProvider.java
deleted file mode 100644
index 41f6b46de708f..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/AppConfigurationCredentialProvider.java
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-package com.azure.spring.cloud.config;
-
-import com.azure.core.credential.TokenCredential;
-
-/**
- * Interface to be implemented that enables returning of a TokenCredential for authentication with an Azure App
- * Configuration stores.
- */
-public interface AppConfigurationCredentialProvider {
-
- /**
- * Returns a Token Credential for connecting to the given endpoint.
- * @param uri App Configuration endpoint
- * @return TokenCredential for connecting to the uri.
- */
- TokenCredential getAppConfigCredential(String uri);
-
-}
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/KeyVaultCredentialProvider.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/KeyVaultCredentialProvider.java
deleted file mode 100644
index c790d130fc0b2..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/KeyVaultCredentialProvider.java
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-package com.azure.spring.cloud.config;
-
-import com.azure.core.credential.TokenCredential;
-
-/**
- * Interface to be implemented that enables returning of a TokenCredential for authentication with an Azure Key Vaults.
- */
-public interface KeyVaultCredentialProvider {
-
- /**
- * Returns a credential for a Key Vault given it's uri.
- * @param uri URI to a key vault
- * @return Token Credential
- */
- TokenCredential getKeyVaultCredential(String uri);
-
-}
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/TokenCredentialProvider.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/TokenCredentialProvider.java
deleted file mode 100644
index c3cbd0cc2c87b..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/TokenCredentialProvider.java
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-package com.azure.spring.cloud.config;
-
-import com.azure.core.credential.TokenCredential;
-
-/**
- * Provides ability to generate Token Credential for connecting to Azure services.
- */
-public interface TokenCredentialProvider {
-
- /**
- * Returns a TokenCredential that will be used for connecting to Azure App Configuration.
- *
- * @param uri URI to App Configuration Store
- * @return TokenCredential
- */
- TokenCredential credentialForAppConfig(String uri);
-
- /**
- * Returns a TokenCredential that will be used for connecting to Azure Key Vault.
- *
- * @param uri URI to Key Vault Instance
- * @return TokenCredential
- */
- TokenCredential credentialForKeyVault(String uri);
-
-}
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/feature/management/entity/package-info.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/feature/management/entity/package-info.java
deleted file mode 100644
index cc0dca2eaeeb6..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/feature/management/entity/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-/**
- * Package contains classes for converting Azure App Configuration Feature Flags to the format used by the client library.
- */
-package com.azure.spring.cloud.config.feature.management.entity;
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/health/package-info.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/health/package-info.java
deleted file mode 100644
index fb97f5affe210..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/health/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-/**
- * Package contains classes for converting Azure App Configuration Health information.
- */
-package com.azure.spring.cloud.config.health;
diff --git a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/implementation/AppConfigurationPropertySource.java b/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/implementation/AppConfigurationPropertySource.java
deleted file mode 100644
index 39c2f4e0cb84d..0000000000000
--- a/sdk/appconfiguration/azure-spring-cloud-appconfiguration-config/src/main/java/com/azure/spring/cloud/config/implementation/AppConfigurationPropertySource.java
+++ /dev/null
@@ -1,336 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-package com.azure.spring.cloud.config.implementation;
-
-import static com.azure.spring.cloud.config.AppConfigurationConstants.FEATURE_FLAG_PREFIX;
-import static com.azure.spring.cloud.config.AppConfigurationConstants.FEATURE_MANAGEMENT_KEY;
-import static java.util.Collections.emptyList;
-import static java.util.stream.Collectors.toMap;
-
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.stream.IntStream;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.env.EnumerablePropertySource;
-import org.springframework.util.ReflectionUtils;
-import org.springframework.util.StringUtils;
-
-import com.azure.data.appconfiguration.ConfigurationClient;
-import com.azure.data.appconfiguration.models.ConfigurationSetting;
-import com.azure.data.appconfiguration.models.FeatureFlagConfigurationSetting;
-import com.azure.data.appconfiguration.models.FeatureFlagFilter;
-import com.azure.data.appconfiguration.models.SecretReferenceConfigurationSetting;
-import com.azure.data.appconfiguration.models.SettingSelector;
-import com.azure.security.keyvault.secrets.models.KeyVaultSecret;
-import com.azure.spring.cloud.config.KeyVaultCredentialProvider;
-import com.azure.spring.cloud.config.KeyVaultSecretProvider;
-import com.azure.spring.cloud.config.SecretClientBuilderSetup;
-import com.azure.spring.cloud.config.feature.management.entity.Feature;
-import com.azure.spring.cloud.config.feature.management.entity.FeatureSet;
-import com.azure.spring.cloud.config.properties.AppConfigurationProperties;
-import com.azure.spring.cloud.config.properties.AppConfigurationProviderProperties;
-import com.azure.spring.cloud.config.properties.AppConfigurationStoreSelects;
-import com.azure.spring.cloud.config.properties.ConfigStore;
-import com.azure.spring.cloud.config.properties.FeatureFlagStore;
-import com.azure.spring.cloud.config.stores.KeyVaultClient;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.MapperFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.PropertyNamingStrategies;
-import com.fasterxml.jackson.databind.json.JsonMapper;
-
-/**
- * Azure App Configuration PropertySource unique per Store Label(Profile) combo.
- *
- *
- * i.e. If connecting to 2 stores and have 2 labels set 4 AppConfigurationPropertySources need to be created.
- *
- */
-public final class AppConfigurationPropertySource extends EnumerablePropertySource {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(AppConfigurationPropertySource.class);
-
- private static final String USERS = "users";
-
- private static final String USERS_CAPS = "Users";
-
- private static final String AUDIENCE = "Audience";
-
- private static final String GROUPS = "groups";
-
- private static final String GROUPS_CAPS = "Groups";
-
- private static final String TARGETING_FILTER = "targetingFilter";
-
- private static final String DEFAULT_ROLLOUT_PERCENTAGE = "defaultRolloutPercentage";
-
- private static final String DEFAULT_ROLLOUT_PERCENTAGE_CAPS = "DefaultRolloutPercentage";
-
- private static final ObjectMapper CASE_INSENSITIVE_MAPPER = JsonMapper.builder()
- .configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true).build();
-
- private static final ObjectMapper FEATURE_MAPPER = JsonMapper.builder()
- .propertyNamingStrategy(PropertyNamingStrategies.KEBAB_CASE).build();
-
- private final AppConfigurationStoreSelects selectedKeys;
-
- private final List profiles;
-
- private final Map properties = new LinkedHashMap<>();
-
- private final AppConfigurationProperties appConfigurationProperties;
-
- private final Map keyVaultClients;
-
- private final AppConfigurationReplicaClient replicaClient;
-
- private final KeyVaultCredentialProvider keyVaultCredentialProvider;
-
- private final SecretClientBuilderSetup keyVaultClientProvider;
-
- private final KeyVaultSecretProvider keyVaultSecretProvider;
-
- private final AppConfigurationProviderProperties appProperties;
-
- private final FeatureFlagStore featureStore;
-
- AppConfigurationPropertySource(ConfigStore configStore, AppConfigurationStoreSelects selectedKeys,
- List profiles, AppConfigurationProperties appConfigurationProperties,
- AppConfigurationReplicaClient replicaClient,
- AppConfigurationProviderProperties appProperties, KeyVaultCredentialProvider keyVaultCredentialProvider,
- SecretClientBuilderSetup keyVaultClientProvider, KeyVaultSecretProvider keyVaultSecretProvider) {
- // The context alone does not uniquely define a PropertySource, append storeName
- // and label to uniquely define a PropertySource
- super(
- selectedKeys.getKeyFilter() + configStore.getEndpoint() + "/" + selectedKeys.getLabelFilterText(profiles));
- this.featureStore = configStore.getFeatureFlags();
- this.selectedKeys = selectedKeys;
- this.profiles = profiles;
- this.appConfigurationProperties = appConfigurationProperties;
- this.appProperties = appProperties;
- this.keyVaultClients = new HashMap<>();
- this.replicaClient = replicaClient;
- this.keyVaultCredentialProvider = keyVaultCredentialProvider;
- this.keyVaultClientProvider = keyVaultClientProvider;
- this.keyVaultSecretProvider = keyVaultSecretProvider;
- }
-
- private static List