From ba7185fc3749e9f2e599d8fd64eebb5fe3adb534 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 08:39:44 +0100 Subject: [PATCH 01/33] Implement @AutoConfiguration annotation --- .../boot/autoconfigure/AutoConfiguration.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java new file mode 100644 index 000000000000..18f26d17b2f0 --- /dev/null +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java @@ -0,0 +1,19 @@ +package org.springframework.boot.autoconfigure; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.springframework.context.annotation.Configuration; + +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Inherited +@Configuration(proxyBeanMethods = false) +public @interface AutoConfiguration { + +} From 1c24fa00e3f7e579342aa139adb3b59268fcc7ae Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 09:36:50 +0100 Subject: [PATCH 02/33] Implement loading autoconfiguration names from classpath resources --- .../AutoConfigurationLocator.java | 91 +++++++++++++++++++ .../AutoConfigurationLocatorTest.java | 37 ++++++++ ...igurationLocatorTest$TestAutoConfiguration | 6 ++ 3 files changed, 134 insertions(+) create mode 100644 spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java create mode 100644 spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java create mode 100644 spring-boot-project/spring-boot-autoconfigure/src/test/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfigurationLocatorTest$TestAutoConfiguration diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java new file mode 100644 index 000000000000..4e5ecfbd1d13 --- /dev/null +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java @@ -0,0 +1,91 @@ +package org.springframework.boot.autoconfigure; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.List; + +import org.springframework.core.io.UrlResource; +import org.springframework.lang.Nullable; +import org.springframework.util.Assert; + +public class AutoConfigurationLocator { + + private static final String LOCATION = "META-INF/springboot/"; + + private static final String COMMENT_START = "#"; + + public List locate(Class annotation, @Nullable ClassLoader classLoader) { + Assert.notNull(annotation, "'annotation' must not be null"); + + ClassLoader classLoaderToUse = classLoader; + if (classLoaderToUse == null) { + classLoaderToUse = AutoConfigurationLocator.class.getClassLoader(); + } + + String annotationName = annotation.getName(); + String location = LOCATION + annotationName; + + Enumeration urls = findUrlsInClasspath(classLoaderToUse, location); + + List autoConfigurations = new ArrayList<>(); + while (urls.hasMoreElements()) { + URL url = urls.nextElement(); + + autoConfigurations.addAll(readAutoConfigurations(url)); + } + + return autoConfigurations; + } + + private Enumeration findUrlsInClasspath(ClassLoader classLoader, String location) { + try { + return classLoader.getResources(location); + } + catch (IOException ex) { + throw new IllegalArgumentException("Failed to load autoconfigurations from location [" + location + "]", + ex); + } + } + + private List readAutoConfigurations(URL url) { + List autoConfigurations = new ArrayList<>(); + + // Read file line by line, ignore comments and empty lines + // A comment can be put after a valid class name + try (BufferedReader reader = new BufferedReader( + new InputStreamReader(new UrlResource(url).getInputStream(), StandardCharsets.UTF_8))) { + String line; + while ((line = reader.readLine()) != null) { + line = stripComment(line); + line = line.trim(); + + if (line.isEmpty()) { + continue; + } + + autoConfigurations.add(line); + } + + return autoConfigurations; + } + catch (IOException ex) { + throw new IllegalArgumentException("Unable to load autoconfigurations from location [" + url + "]", ex); + } + } + + private String stripComment(String line) { + int hash = line.indexOf(COMMENT_START); + if (hash == -1) { + return line; + } + + // This will return an empty string if the line starts with a comment symbol + return line.substring(0, hash); + } + +} diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java new file mode 100644 index 000000000000..0d73784bc996 --- /dev/null +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java @@ -0,0 +1,37 @@ +package org.springframework.boot.autoconfigure; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.util.List; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class AutoConfigurationLocatorTest { + + private AutoConfigurationLocator sut; + + @BeforeEach + void setUp() { + sut = new AutoConfigurationLocator(); + } + + @Test + void locate() { + List classNames = sut.locate(TestAutoConfiguration.class, null); + + assertThat(classNames).containsExactly("class1", "class2", "class3"); + } + + @AutoConfiguration + @Target(ElementType.TYPE) + @Retention(RetentionPolicy.RUNTIME) + public @interface TestAutoConfiguration { + + } + +} \ No newline at end of file diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfigurationLocatorTest$TestAutoConfiguration b/spring-boot-project/spring-boot-autoconfigure/src/test/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfigurationLocatorTest$TestAutoConfiguration new file mode 100644 index 000000000000..d42712a8c2be --- /dev/null +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfigurationLocatorTest$TestAutoConfiguration @@ -0,0 +1,6 @@ +# A comment spanning a complete line +class1 + +class2 # with comment at the end + # Comment with some whitespace in front +class3 \ No newline at end of file From 74af49fc13b259fd9457e90d0c0ba57cadc55bb0 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 10:52:13 +0100 Subject: [PATCH 03/33] Fix checkstyle issues --- .../boot/autoconfigure/AutoConfiguration.java | 16 ++++++++++++++ .../AutoConfigurationLocator.java | 16 ++++++++++++++ .../AutoConfigurationLocatorTest.java | 22 ++++++++++++++++--- 3 files changed, 51 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java index 18f26d17b2f0..53f997ae9fc9 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java @@ -1,3 +1,19 @@ +/* + * Copyright 2012-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.springframework.boot.autoconfigure; import java.lang.annotation.Documented; diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java index 4e5ecfbd1d13..caf7f38b2e08 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java @@ -1,3 +1,19 @@ +/* + * Copyright 2012-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.springframework.boot.autoconfigure; import java.io.BufferedReader; diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java index 0d73784bc996..6e3c6610b217 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java @@ -1,3 +1,19 @@ +/* + * Copyright 2012-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.springframework.boot.autoconfigure; import java.lang.annotation.ElementType; @@ -17,12 +33,12 @@ class AutoConfigurationLocatorTest { @BeforeEach void setUp() { - sut = new AutoConfigurationLocator(); + this.sut = new AutoConfigurationLocator(); } @Test void locate() { - List classNames = sut.locate(TestAutoConfiguration.class, null); + List classNames = this.sut.locate(TestAutoConfiguration.class, null); assertThat(classNames).containsExactly("class1", "class2", "class3"); } @@ -34,4 +50,4 @@ void locate() { } -} \ No newline at end of file +} From cb7cbc530ef652cca46ab812019aff67f43b45c6 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 10:52:43 +0100 Subject: [PATCH 04/33] Load autoconfigurations with new autoconfiguration loader --- .../AutoConfigurationImportSelector.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java index d0e0b2bd8c58..89cf5923b39d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -175,8 +175,14 @@ protected Class getAnnotationClass() { * @return a list of candidate configurations */ protected List getCandidateConfigurations(AnnotationMetadata metadata, AnnotationAttributes attributes) { - List configurations = SpringFactoriesLoader.loadFactoryNames(getSpringFactoriesLoaderFactoryClass(), - getBeanClassLoader()); + // Load legacy autoconfigurations from spring.factories + List legacyConfigurations = SpringFactoriesLoader + .loadFactoryNames(getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader()); + + // Load autoconfigurations from AutoConfiguration file + List configurations = new ArrayList<>(legacyConfigurations); + configurations.addAll(new AutoConfigurationLocator().locate(AutoConfiguration.class, getBeanClassLoader())); + Assert.notEmpty(configurations, "No auto configuration classes found in META-INF/spring.factories. If you " + "are using a custom packaging, make sure that file is correct."); return configurations; From 8d5aa7b778c36cb0399b8250883fb7cc14eb80b2 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 11:18:04 +0100 Subject: [PATCH 05/33] Move autoconfigurations from spring.factories into file for new loader --- ...bitHealthContributorAutoConfiguration.java | 6 +- .../audit/AuditAutoConfiguration.java | 6 +- .../AuditEventsEndpointAutoConfiguration.java | 6 +- ...ityHealthContributorAutoConfiguration.java | 6 +- .../AvailabilityProbesAutoConfiguration.java | 6 +- .../beans/BeansEndpointAutoConfiguration.java | 6 +- .../CachesEndpointAutoConfiguration.java | 4 +- ...draHealthContributorAutoConfiguration.java | 6 +- ...iveHealthContributorAutoConfiguration.java | 6 +- ...CloudFoundryActuatorAutoConfiguration.java | 5 +- ...CloudFoundryActuatorAutoConfiguration.java | 8 +- ...itionsReportEndpointAutoConfiguration.java | 6 +- .../ShutdownEndpointAutoConfiguration.java | 6 +- ...ertiesReportEndpointAutoConfiguration.java | 4 +- ...aseHealthContributorAutoConfiguration.java | 6 +- ...iveHealthContributorAutoConfiguration.java | 6 +- ...iveHealthContributorAutoConfiguration.java | 4 +- ...estHealthContributorAutoConfiguration.java | 4 +- .../endpoint/EndpointAutoConfiguration.java | 6 +- .../jmx/JmxEndpointAutoConfiguration.java | 6 +- .../web/WebEndpointAutoConfiguration.java | 8 +- .../EnvironmentEndpointAutoConfiguration.java | 4 +- .../FlywayEndpointAutoConfiguration.java | 6 +- ...astHealthContributorAutoConfiguration.java | 6 +- .../HealthContributorAutoConfiguration.java | 6 +- .../HealthEndpointAutoConfiguration.java | 6 +- ...xDbHealthContributorAutoConfiguration.java | 6 +- .../InfoContributorAutoConfiguration.java | 4 +- .../info/InfoEndpointAutoConfiguration.java | 6 +- ...grationGraphEndpointAutoConfiguration.java | 6 +- ...rceHealthContributorAutoConfiguration.java | 6 +- ...JmsHealthContributorAutoConfiguration.java | 6 +- .../JolokiaEndpointAutoConfiguration.java | 6 +- ...dapHealthContributorAutoConfiguration.java | 6 +- .../LiquibaseEndpointAutoConfiguration.java | 6 +- .../LogFileWebEndpointAutoConfiguration.java | 6 +- .../LoggersEndpointAutoConfiguration.java | 6 +- ...ailHealthContributorAutoConfiguration.java | 6 +- .../HeapDumpWebEndpointAutoConfiguration.java | 6 +- .../ThreadDumpEndpointAutoConfiguration.java | 6 +- ...mpositeMeterRegistryAutoConfiguration.java | 6 +- .../metrics/JvmMetricsAutoConfiguration.java | 6 +- .../KafkaMetricsAutoConfiguration.java | 8 +- .../Log4J2MetricsAutoConfiguration.java | 6 +- .../LogbackMetricsAutoConfiguration.java | 6 +- .../metrics/MetricsAutoConfiguration.java | 6 +- .../MetricsEndpointAutoConfiguration.java | 6 +- .../SystemMetricsAutoConfiguration.java | 6 +- .../amqp/RabbitMetricsAutoConfiguration.java | 6 +- .../cache/CacheMetricsAutoConfiguration.java | 6 +- .../RepositoryMetricsAutoConfiguration.java | 6 +- ...pOpticsMetricsExportAutoConfiguration.java | 6 +- .../AtlasMetricsExportAutoConfiguration.java | 6 +- ...DatadogMetricsExportAutoConfiguration.java | 6 +- ...natraceMetricsExportAutoConfiguration.java | 6 +- ...ElasticMetricsExportAutoConfiguration.java | 6 +- ...GangliaMetricsExportAutoConfiguration.java | 6 +- ...raphiteMetricsExportAutoConfiguration.java | 6 +- .../HumioMetricsExportAutoConfiguration.java | 6 +- .../InfluxMetricsExportAutoConfiguration.java | 6 +- .../JmxMetricsExportAutoConfiguration.java | 6 +- .../KairosMetricsExportAutoConfiguration.java | 6 +- ...ewRelicMetricsExportAutoConfiguration.java | 6 +- ...metheusMetricsExportAutoConfiguration.java | 10 +- ...ignalFxMetricsExportAutoConfiguration.java | 6 +- .../SimpleMetricsExportAutoConfiguration.java | 6 +- ...kdriverMetricsExportAutoConfiguration.java | 6 +- .../StatsdMetricsExportAutoConfiguration.java | 6 +- ...vefrontMetricsExportAutoConfiguration.java | 6 +- .../GraphQlMetricsAutoConfiguration.java | 6 +- .../IntegrationMetricsAutoConfiguration.java | 6 +- ...ataSourcePoolMetricsAutoConfiguration.java | 10 +- .../JerseyServerMetricsAutoConfiguration.java | 6 +- .../mongo/MongoMetricsAutoConfiguration.java | 6 +- .../HibernateMetricsAutoConfiguration.java | 6 +- ...onnectionPoolMetricsAutoConfiguration.java | 6 +- .../LettuceMetricsAutoConfiguration.java | 6 +- ...pTimeMetricsListenerAutoConfiguration.java | 6 +- .../TaskExecutorMetricsAutoConfiguration.java | 6 +- .../HttpClientMetricsAutoConfiguration.java | 6 +- .../jetty/JettyMetricsAutoConfiguration.java | 6 +- .../WebFluxMetricsAutoConfiguration.java | 6 +- .../WebMvcMetricsAutoConfiguration.java | 4 +- .../TomcatMetricsAutoConfiguration.java | 6 +- ...ngoHealthContributorAutoConfiguration.java | 6 +- ...iveHealthContributorAutoConfiguration.java | 6 +- ...o4jHealthContributorAutoConfiguration.java | 6 +- .../QuartzEndpointAutoConfiguration.java | 4 +- ...oryHealthContributorAutoConfiguration.java | 6 +- ...disHealthContributorAutoConfiguration.java | 6 +- ...iveHealthContributorAutoConfiguration.java | 6 +- ...heduledTasksEndpointAutoConfiguration.java | 6 +- ...anagementWebSecurityAutoConfiguration.java | 6 +- ...anagementWebSecurityAutoConfiguration.java | 6 +- .../SessionsEndpointAutoConfiguration.java | 6 +- ...olrHealthContributorAutoConfiguration.java | 6 +- .../StartupEndpointAutoConfiguration.java | 6 +- ...aceHealthContributorAutoConfiguration.java | 6 +- .../http/HttpTraceAutoConfiguration.java | 10 +- .../HttpTraceEndpointAutoConfiguration.java | 6 +- .../MappingsEndpointAutoConfiguration.java | 12 +- ...iveManagementContextAutoConfiguration.java | 6 +- .../ManagementContextAutoConfiguration.java | 12 +- ...letManagementContextAutoConfiguration.java | 8 +- .../main/resources/META-INF/spring.factories | 105 ------------------ ...ework.boot.autoconfigure.AutoConfiguration | 104 +++++++++++++++++ 106 files changed, 424 insertions(+), 424 deletions(-) create mode 100644 spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfiguration.java index 96758ea65fdc..568325cec0cb 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; @@ -30,7 +31,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link RabbitHealthIndicator}. @@ -38,7 +38,7 @@ * @author Christian Dupuis * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(RabbitTemplate.class) @ConditionalOnBean(RabbitTemplate.class) @ConditionalOnEnabledHealthIndicator("rabbit") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditAutoConfiguration.java index 7af9e5f4e37a..2a82069fba5d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,13 +24,13 @@ import org.springframework.boot.actuate.security.AbstractAuthorizationAuditListener; import org.springframework.boot.actuate.security.AuthenticationAuditListener; import org.springframework.boot.actuate.security.AuthorizationAuditListener; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link AuditEvent}s. @@ -39,7 +39,7 @@ * @author Vedran Pavic * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnBean(AuditEventRepository.class) @ConditionalOnProperty(prefix = "management.auditevents", name = "enabled", matchIfMissing = true) public class AuditAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditEventsEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditEventsEndpointAutoConfiguration.java index c67d7950b4af..441e77146c1a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditEventsEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditEventsEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,12 +19,12 @@ import org.springframework.boot.actuate.audit.AuditEventRepository; import org.springframework.boot.actuate.audit.AuditEventsEndpoint; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for the {@link AuditEventsEndpoint}. @@ -34,7 +34,7 @@ * @author Vedran Pavic * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter(AuditAutoConfiguration.class) @ConditionalOnAvailableEndpoint(endpoint = AuditEventsEndpoint.class) public class AuditEventsEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfiguration.java index 4a028096f7d7..78fe3e93a6fc 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import org.springframework.boot.actuate.availability.AvailabilityStateHealthIndicator; import org.springframework.boot.actuate.availability.LivenessStateHealthIndicator; import org.springframework.boot.actuate.availability.ReadinessStateHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration; @@ -26,7 +27,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.availability.ApplicationAvailability; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for @@ -35,7 +35,7 @@ * @author Brian Clozel * @since 2.3.2 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter(ApplicationAvailabilityAutoConfiguration.class) public class AvailabilityHealthContributorAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java index 79e126f7cf94..91281e2b6f76 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import org.springframework.boot.actuate.availability.LivenessStateHealthIndicator; import org.springframework.boot.actuate.availability.ReadinessStateHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration; @@ -30,7 +31,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.core.type.AnnotatedTypeMetadata; @@ -41,7 +41,7 @@ * @author Phillip Webb * @since 2.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @Conditional(AvailabilityProbesAutoConfiguration.ProbesCondition.class) @AutoConfigureAfter({ AvailabilityHealthContributorAutoConfiguration.class, ApplicationAvailabilityAutoConfiguration.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/BeansEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/BeansEndpointAutoConfiguration.java index 48287e8f9871..806a62858330 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/BeansEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/BeansEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,11 +18,11 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.beans.BeansEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for the {@link BeansEndpoint}. @@ -30,7 +30,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = BeansEndpoint.class) public class BeansEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cache/CachesEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cache/CachesEndpointAutoConfiguration.java index 340fb35be510..ca16470b15e6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cache/CachesEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cache/CachesEndpointAutoConfiguration.java @@ -22,6 +22,7 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.expose.EndpointExposure; import org.springframework.boot.actuate.cache.CachesEndpoint; import org.springframework.boot.actuate.cache.CachesEndpointWebExtension; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration; @@ -30,7 +31,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.cache.CacheManager; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link CachesEndpoint}. @@ -39,7 +39,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(CacheManager.class) @ConditionalOnAvailableEndpoint(endpoint = CachesEndpoint.class) @AutoConfigureAfter(CacheAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfiguration.java index 773376b6661d..4af804786cb5 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,12 +21,12 @@ import org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthContributorConfigurations.CassandraDriverConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.cassandra.CassandraDriverHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** @@ -37,7 +37,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(CqlSession.class) @ConditionalOnEnabledHealthIndicator("cassandra") @AutoConfigureAfter({ CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class, diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfiguration.java index 6292334d0eb1..b28806e106a2 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cassandra/CassandraReactiveHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,11 +22,11 @@ import org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthContributorConfigurations.CassandraReactiveDriverConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.cassandra.CassandraDriverReactiveHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** @@ -37,7 +37,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ CqlSession.class, Flux.class }) @ConditionalOnEnabledHealthIndicator("cassandra") @AutoConfigureAfter(CassandraReactiveDataAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfiguration.java index e237ab50bb04..7aeac8ffb18a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -44,6 +44,7 @@ import org.springframework.boot.actuate.info.InfoContributor; import org.springframework.boot.actuate.info.InfoEndpoint; import org.springframework.boot.actuate.info.InfoPropertiesInfoContributor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -75,7 +76,7 @@ * @author Madhura Bhave * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnProperty(prefix = "management.cloudfoundry", name = "enabled", matchIfMissing = true) @AutoConfigureAfter({ HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class }) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java index 04f24deeb771..7622de98a247 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,6 +43,7 @@ import org.springframework.boot.actuate.info.InfoContributor; import org.springframework.boot.actuate.info.InfoEndpoint; import org.springframework.boot.actuate.info.InfoPropertiesInfoContributor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -57,7 +58,6 @@ import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.core.env.Environment; import org.springframework.http.HttpHeaders; @@ -76,7 +76,7 @@ * @author Madhura Bhave * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnProperty(prefix = "management.cloudfoundry", name = "enabled", matchIfMissing = true) @AutoConfigureAfter({ ServletManagementContextAutoConfiguration.class, HealthEndpointAutoConfiguration.class, InfoEndpointAutoConfiguration.class }) @@ -160,7 +160,7 @@ private CorsConfiguration getCorsConfiguration() { * interceptor. */ @ConditionalOnClass({ WebSecurityCustomizer.class, WebSecurity.class }) - @Configuration(proxyBeanMethods = false) + @AutoConfiguration public static class IgnoredCloudFoundryPathsWebSecurityConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpointAutoConfiguration.java index e97fdc069b11..35795f2f6ac6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,12 +17,12 @@ package org.springframework.boot.actuate.autoconfigure.condition; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.SearchStrategy; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for the @@ -31,7 +31,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = ConditionsReportEndpoint.class) public class ConditionsReportEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/ShutdownEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/ShutdownEndpointAutoConfiguration.java index 79f345aa6194..fac0d585bd64 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/ShutdownEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/ShutdownEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,10 +18,10 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.context.ShutdownEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for the {@link ShutdownEndpoint}. @@ -29,7 +29,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = ShutdownEndpoint.class) public class ShutdownEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/properties/ConfigurationPropertiesReportEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/properties/ConfigurationPropertiesReportEndpointAutoConfiguration.java index 17b1a7ad320c..e620eba1d784 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/properties/ConfigurationPropertiesReportEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/properties/ConfigurationPropertiesReportEndpointAutoConfiguration.java @@ -22,12 +22,12 @@ import org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint; import org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpointWebExtension; import org.springframework.boot.actuate.endpoint.SanitizingFunction; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for the @@ -38,7 +38,7 @@ * @author Chris Bono * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = ConfigurationPropertiesReportEndpoint.class) @EnableConfigurationProperties(ConfigurationPropertiesReportEndpointProperties.class) public class ConfigurationPropertiesReportEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/couchbase/CouchbaseHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/couchbase/CouchbaseHealthContributorAutoConfiguration.java index dd0f5b4d9008..498d27d4834d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/couchbase/CouchbaseHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/couchbase/CouchbaseHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.couchbase.CouchbaseHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for @@ -42,7 +42,7 @@ * @author Andy Wilkinson Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Cluster.class) @ConditionalOnBean(Cluster.class) @ConditionalOnEnabledHealthIndicator("couchbase") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/couchbase/CouchbaseReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/couchbase/CouchbaseReactiveHealthContributorAutoConfiguration.java index 7429505cdcfd..114c0b4081d9 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/couchbase/CouchbaseReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/couchbase/CouchbaseReactiveHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.couchbase.CouchbaseReactiveHealthIndicator; import org.springframework.boot.actuate.health.ReactiveHealthContributor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for @@ -42,7 +42,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Cluster.class, Flux.class }) @ConditionalOnBean(Cluster.class) @ConditionalOnEnabledHealthIndicator("couchbase") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchReactiveHealthContributorAutoConfiguration.java index dbd63ca31c52..1c7d50f7d449 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchReactiveHealthContributorAutoConfiguration.java @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.elasticsearch.ElasticsearchReactiveHealthIndicator; import org.springframework.boot.actuate.health.ReactiveHealthContributor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; /** @@ -42,7 +42,7 @@ * @author Aleksander Lech * @since 2.3.2 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ ReactiveElasticsearchClient.class, Flux.class }) @ConditionalOnBean(ReactiveElasticsearchClient.class) @ConditionalOnEnabledHealthIndicator("elasticsearch") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchRestHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchRestHealthContributorAutoConfiguration.java index 7245064b677d..d7f326bc398d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchRestHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/ElasticSearchRestHealthContributorAutoConfiguration.java @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.elasticsearch.ElasticsearchRestHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for @@ -41,7 +41,7 @@ * @since 2.1.1 */ @SuppressWarnings("deprecation") -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(org.elasticsearch.client.RestHighLevelClient.class) @ConditionalOnBean(org.elasticsearch.client.RestHighLevelClient.class) @ConditionalOnEnabledHealthIndicator("elasticsearch") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.java index 36bd3bc6d18e..a7bcd2f262e6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,11 +25,11 @@ import org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper; import org.springframework.boot.actuate.endpoint.invoke.convert.ConversionServiceParameterValueMapper; import org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.convert.ApplicationConversionService; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.converter.Converter; import org.springframework.core.convert.converter.GenericConverter; @@ -44,7 +44,7 @@ * @author Chao Chang * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration public class EndpointAutoConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java index 35e50b199bc8..1806b73c1bd6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,6 +38,7 @@ import org.springframework.boot.actuate.endpoint.jmx.JmxEndpointsSupplier; import org.springframework.boot.actuate.endpoint.jmx.JmxOperationResponseMapper; import org.springframework.boot.actuate.endpoint.jmx.annotation.JmxEndpointDiscoverer; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -47,7 +48,6 @@ 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 org.springframework.core.env.Environment; import org.springframework.util.ObjectUtils; @@ -60,7 +60,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ JmxAutoConfiguration.class, EndpointAutoConfiguration.class }) @EnableConfigurationProperties(JmxEndpointProperties.class) @ConditionalOnProperty(prefix = "spring.jmx", name = "enabled", havingValue = "true") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java index a9aa6e6edb92..fc8073f854f9 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,6 +41,7 @@ import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointDiscoverer; import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.annotation.WebEndpointDiscoverer; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -49,7 +50,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for web {@link Endpoint @Endpoint} @@ -59,7 +59,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication @AutoConfigureAfter(EndpointAutoConfiguration.class) @EnableConfigurationProperties(WebEndpointProperties.class) @@ -126,7 +126,7 @@ public IncludeExcludeEndpointFilter controllerExpos exposure.getExclude()); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) static class WebEndpointServletConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/env/EnvironmentEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/env/EnvironmentEndpointAutoConfiguration.java index 48ccf764dbd9..570b81e5942a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/env/EnvironmentEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/env/EnvironmentEndpointAutoConfiguration.java @@ -22,12 +22,12 @@ import org.springframework.boot.actuate.endpoint.SanitizingFunction; import org.springframework.boot.actuate.env.EnvironmentEndpoint; import org.springframework.boot.actuate.env.EnvironmentEndpointWebExtension; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; /** @@ -37,7 +37,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = EnvironmentEndpoint.class) @EnableConfigurationProperties(EnvironmentEndpointProperties.class) public class EnvironmentEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/flyway/FlywayEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/flyway/FlywayEndpointAutoConfiguration.java index 12fccfc2f8d5..22e74b22b429 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/flyway/FlywayEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/flyway/FlywayEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.flyway.FlywayEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -28,7 +29,6 @@ import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link FlywayEndpoint}. @@ -36,7 +36,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Flyway.class) @ConditionalOnAvailableEndpoint(endpoint = FlywayEndpoint.class) @AutoConfigureAfter(FlywayAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/hazelcast/HazelcastHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/hazelcast/HazelcastHealthContributorAutoConfiguration.java index c94d82ed3c09..9cc11e3fe18d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/hazelcast/HazelcastHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/hazelcast/HazelcastHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.hazelcast.HazelcastHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for @@ -40,7 +40,7 @@ * @author Dmytro Nosan * @since 2.2.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(HazelcastInstance.class) @ConditionalOnBean(HazelcastInstance.class) @ConditionalOnEnabledHealthIndicator("hazelcast") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfiguration.java index 41a93b5f4e4e..6fc06816ddad 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,9 +18,9 @@ import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.health.PingHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link HealthContributor health @@ -29,7 +29,7 @@ * @author Phillip Webb * @since 2.2.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration public class HealthContributorAutoConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java index 096a212ecfaf..a3a937dcfa02 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,9 +18,9 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.health.HealthEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** @@ -32,7 +32,7 @@ * @author Scott Frederick * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = HealthEndpoint.class) @EnableConfigurationProperties(HealthEndpointProperties.class) @Import({ HealthEndpointConfiguration.class, ReactiveHealthEndpointConfiguration.class, diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/influx/InfluxDbHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/influx/InfluxDbHealthContributorAutoConfiguration.java index 55749768fdc9..ca0891eaa8da 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/influx/InfluxDbHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/influx/InfluxDbHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.influx.InfluxDbHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.influx.InfluxDbAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link InfluxDbHealthIndicator}. @@ -39,7 +39,7 @@ * @author Eddú Meléndez * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(InfluxDB.class) @ConditionalOnBean(InfluxDB.class) @ConditionalOnEnabledHealthIndicator("influxdb") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java index 32b68176e2cd..c2c454387d00 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java @@ -22,6 +22,7 @@ import org.springframework.boot.actuate.info.InfoContributor; import org.springframework.boot.actuate.info.JavaInfoContributor; import org.springframework.boot.actuate.info.OsInfoContributor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -31,7 +32,6 @@ import org.springframework.boot.info.BuildProperties; import org.springframework.boot.info.GitProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.core.env.ConfigurableEnvironment; @@ -45,7 +45,7 @@ * @author Jonatan Ivanov * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter(ProjectInfoAutoConfiguration.class) @EnableConfigurationProperties(InfoContributorProperties.class) public class InfoContributorAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java index ed24ab0cf687..9ccd800c9bfe 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,11 +22,11 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.info.InfoContributor; import org.springframework.boot.actuate.info.InfoEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for the {@link InfoEndpoint}. @@ -34,7 +34,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = InfoEndpoint.class) @AutoConfigureAfter(InfoContributorAutoConfiguration.class) public class InfoEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfiguration.java index 63d151b2b90a..c31a2ba4d5a0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.integration.IntegrationGraphEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -25,7 +26,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.integration.config.IntegrationConfigurationBeanFactoryPostProcessor; import org.springframework.integration.graph.IntegrationGraphServer; @@ -37,7 +37,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(IntegrationGraphServer.class) @ConditionalOnBean(IntegrationConfigurationBeanFactoryPostProcessor.class) @ConditionalOnAvailableEndpoint(endpoint = IntegrationGraphEndpoint.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/DataSourceHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/DataSourceHealthContributorAutoConfiguration.java index 26d2ba468166..45a143b3fc4b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/DataSourceHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/DataSourceHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,6 +32,7 @@ import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.health.NamedContributor; import org.springframework.boot.actuate.jdbc.DataSourceHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -43,7 +44,6 @@ import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadata; import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadataProvider; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; import org.springframework.util.Assert; @@ -61,7 +61,7 @@ * @author Safeer Ansari * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ JdbcTemplate.class, AbstractRoutingDataSource.class }) @ConditionalOnBean(DataSource.class) @ConditionalOnEnabledHealthIndicator("db") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java index cb77db5ae158..b727f82b6053 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.jms.JmsHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration; import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link JmsHealthIndicator}. @@ -40,7 +40,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(ConnectionFactory.class) @ConditionalOnBean(ConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("jms") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jolokia/JolokiaEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jolokia/JolokiaEndpointAutoConfiguration.java index 2c7676bd5491..f30c1940cc64 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jolokia/JolokiaEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jolokia/JolokiaEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,13 +19,13 @@ import org.jolokia.http.AgentServlet; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for the {@link JolokiaEndpoint}. @@ -33,7 +33,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass(AgentServlet.class) @ConditionalOnAvailableEndpoint(endpoint = JolokiaEndpoint.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ldap/LdapHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ldap/LdapHealthContributorAutoConfiguration.java index 41699209491f..c6fd3eb9c73c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ldap/LdapHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ldap/LdapHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.ldap.LdapHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.ldap.core.LdapOperations; /** @@ -39,7 +39,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(LdapOperations.class) @ConditionalOnBean(LdapOperations.class) @ConditionalOnEnabledHealthIndicator("ldap") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfiguration.java index 671dc9b8b19a..169d9516d7e8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.liquibase.LiquibaseEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link LiquibaseEndpoint}. @@ -39,7 +39,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(SpringLiquibase.class) @ConditionalOnAvailableEndpoint(endpoint = LiquibaseEndpoint.class) @AutoConfigureAfter(LiquibaseAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java index 8de4be5b8170..25700cda5028 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.logging.LogFileWebEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionMessage; import org.springframework.boot.autoconfigure.condition.ConditionOutcome; @@ -29,7 +30,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.util.StringUtils; @@ -41,7 +41,7 @@ * @author Christian Carriere-Tisseur * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = LogFileWebEndpoint.class) @EnableConfigurationProperties(LogFileWebEndpointProperties.class) public class LogFileWebEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LoggersEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LoggersEndpointAutoConfiguration.java index 244baa620dc2..af4296bb9ede 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LoggersEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LoggersEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.logging.LoggersEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionMessage; import org.springframework.boot.autoconfigure.condition.ConditionOutcome; @@ -30,7 +31,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.core.type.AnnotatedTypeMetadata; /** @@ -39,7 +39,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = LoggersEndpoint.class) public class LoggersEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/MailHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/MailHealthContributorAutoConfiguration.java index 5c16656592d8..a2189009e490 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/MailHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/MailHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.mail.MailHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.mail.javamail.JavaMailSenderImpl; /** @@ -38,7 +38,7 @@ * @author Johannes Edmeier * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(JavaMailSenderImpl.class) @ConditionalOnBean(JavaMailSenderImpl.class) @ConditionalOnEnabledHealthIndicator("mail") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java index ed775c2c7e4b..dbb1c5ba51ab 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,10 +18,10 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.management.HeapDumpWebEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link HeapDumpWebEndpoint}. @@ -29,7 +29,7 @@ * @author Andy Wilkinson * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = HeapDumpWebEndpoint.class) public class HeapDumpWebEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/ThreadDumpEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/ThreadDumpEndpointAutoConfiguration.java index 8738a871c486..d5e00f03e587 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/ThreadDumpEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/ThreadDumpEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,10 +18,10 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.management.ThreadDumpEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for the {@link ThreadDumpEndpoint}. @@ -29,7 +29,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = ThreadDumpEndpoint.class) public class ThreadDumpEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/CompositeMeterRegistryAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/CompositeMeterRegistryAutoConfiguration.java index a020c76eaf46..18afbc7535bf 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/CompositeMeterRegistryAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/CompositeMeterRegistryAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,9 +18,9 @@ import io.micrometer.core.instrument.composite.CompositeMeterRegistry; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** @@ -30,7 +30,7 @@ * @author Andy Wilkinson * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @Import({ NoOpMeterRegistryConfiguration.class, CompositeMeterRegistryConfiguration.class }) @ConditionalOnClass(CompositeMeterRegistry.class) public class CompositeMeterRegistryAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/JvmMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/JvmMetricsAutoConfiguration.java index f2ca2cf6cb23..07e02ec59097 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/JvmMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/JvmMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,13 +23,13 @@ import io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics; import io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for JVM metrics. @@ -37,7 +37,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass(MeterRegistry.class) @ConditionalOnBean(MeterRegistry.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java index 3b43999a77b4..cc83b2d1623c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import io.micrometer.core.instrument.binder.kafka.KafkaClientMetrics; import io.micrometer.core.instrument.binder.kafka.KafkaStreamsMetrics; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration; import org.springframework.boot.autoconfigure.kafka.StreamsBuilderFactoryBeanCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.kafka.config.StreamsBuilderFactoryBean; import org.springframework.kafka.core.DefaultKafkaConsumerFactory; import org.springframework.kafka.core.DefaultKafkaProducerFactory; @@ -46,7 +46,7 @@ * @author Eddú Meléndez * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore(KafkaAutoConfiguration.class) @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass({ KafkaClientMetrics.class, ProducerFactory.class }) @@ -71,7 +71,7 @@ private void addListener(DefaultKafkaProducerFactory factory, Meter factory.addListener(new MicrometerProducerListener<>(meterRegistry)); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass({ KafkaStreamsMetrics.class, StreamsBuilderFactoryBean.class }) static class KafkaStreamsMetricsConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/Log4J2MetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/Log4J2MetricsAutoConfiguration.java index d2e860171055..1ba192eb028c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/Log4J2MetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/Log4J2MetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import org.apache.logging.log4j.spi.LoggerContext; import org.springframework.boot.actuate.autoconfigure.metrics.Log4J2MetricsAutoConfiguration.Log4JCoreLoggerContextCondition; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionOutcome; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.core.type.AnnotatedTypeMetadata; /** @@ -40,7 +40,7 @@ * @author Andy Wilkinson * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass(value = { Log4j2Metrics.class, LogManager.class }, name = "org.apache.logging.log4j.core.LoggerContext") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/LogbackMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/LogbackMetricsAutoConfiguration.java index 54eee525b094..58aaad5283e9 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/LogbackMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/LogbackMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ import org.slf4j.LoggerFactory; import org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration.LogbackLoggingCondition; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionMessage; @@ -34,7 +35,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.core.type.AnnotatedTypeMetadata; /** @@ -43,7 +43,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass({ MeterRegistry.class, LoggerContext.class, LoggerFactory.class }) @ConditionalOnBean(MeterRegistry.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfiguration.java index 038658936eba..0d025396ca51 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import io.micrometer.core.instrument.config.MeterFilter; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -29,7 +30,6 @@ 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 org.springframework.core.annotation.Order; /** @@ -39,7 +39,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Timed.class) @EnableConfigurationProperties(MetricsProperties.class) @AutoConfigureBefore(CompositeMeterRegistryAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsEndpointAutoConfiguration.java index 71125f54706c..495b581575cb 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,13 +21,13 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.metrics.MetricsEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link MetricsEndpoint}. @@ -35,7 +35,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Timed.class) @ConditionalOnAvailableEndpoint(endpoint = MetricsEndpoint.class) @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/SystemMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/SystemMetricsAutoConfiguration.java index 50b0ef9769f6..aa4f5aad93c8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/SystemMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/SystemMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,6 +26,7 @@ import io.micrometer.core.instrument.binder.system.UptimeMetrics; import org.springframework.boot.actuate.metrics.system.DiskSpaceMetricsBinder; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -33,7 +34,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for system metrics. @@ -42,7 +42,7 @@ * @author Chris Bono * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass(MeterRegistry.class) @ConditionalOnBean(MeterRegistry.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java index 4be11e03e6bd..16466b418e1c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import org.springframework.amqp.rabbit.connection.AbstractConnectionFactory; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for metrics on all available @@ -38,7 +38,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, RabbitAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @ConditionalOnClass({ ConnectionFactory.class, AbstractConnectionFactory.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/CacheMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/CacheMetricsAutoConfiguration.java index 4f40002f78d8..99ddf9cc3517 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/CacheMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/CacheMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,13 +17,13 @@ package org.springframework.boot.actuate.autoconfigure.metrics.cache; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** @@ -33,7 +33,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CacheAutoConfiguration.class }) @ConditionalOnBean(CacheManager.class) @Import({ CacheMeterBinderProvidersConfiguration.class, CacheMetricsRegistrarConfiguration.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java index 62b1e004c809..b50f91b926c3 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,7 @@ import org.springframework.boot.actuate.metrics.data.DefaultRepositoryTagsProvider; import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener; import org.springframework.boot.actuate.metrics.data.RepositoryTagsProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -34,7 +35,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.util.function.SingletonSupplier; /** @@ -43,7 +43,7 @@ * @author Phillip Webb * @since 2.5.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(org.springframework.data.repository.Repository.class) @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java index 21d7078375a6..7d9a490e4ccb 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -33,7 +34,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to AppOptics. @@ -42,7 +42,7 @@ * @author Artsiom Yudovin * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasMetricsExportAutoConfiguration.java index bcd942d9a0b7..2167714223f0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Atlas. @@ -41,7 +41,7 @@ * @author Andy Wilkinson * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfiguration.java index 1a86463e876b..1d3f1c44c014 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -33,7 +34,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Datadog. @@ -42,7 +42,7 @@ * @author Artsiom Yudovin * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java index 739798d7719e..f05b0ac8cb56 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -33,7 +34,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Dynatrace. @@ -42,7 +42,7 @@ * @author Artsiom Yudovin * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticMetricsExportAutoConfiguration.java index efb6cb2609e6..bba050785359 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -34,7 +35,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.source.MutuallyExclusiveConfigurationPropertiesException; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Elastic. @@ -43,7 +43,7 @@ * @author Artsiom Yudovin * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaMetricsExportAutoConfiguration.java index 4c3c8bae7730..93ef25c113e8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Ganglia. @@ -40,7 +40,7 @@ * @author Jon Schneider * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteMetricsExportAutoConfiguration.java index 5615e4927862..b47a2dd8c8b3 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Graphite. @@ -40,7 +40,7 @@ * @author Jon Schneider * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/HumioMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/HumioMetricsExportAutoConfiguration.java index ba407928728b..b787d983bad0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/HumioMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/HumioMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -33,7 +34,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Humio. @@ -42,7 +42,7 @@ * @author Artsiom Yudovin * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfiguration.java index ac33e09c8301..2bfb02807270 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -33,7 +34,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Influx. @@ -42,7 +42,7 @@ * @author Artsiom Yudovin * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/JmxMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/JmxMetricsExportAutoConfiguration.java index 592fc75a03d5..fdaa886e1942 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/JmxMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/JmxMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to JMX. @@ -40,7 +40,7 @@ * @author Jon Schneider * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/KairosMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/KairosMetricsExportAutoConfiguration.java index 1213e87df9fe..9299fa47ada8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/KairosMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/KairosMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -33,7 +34,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to KairosDB. @@ -42,7 +42,7 @@ * @author Artsiom Yudovin * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfiguration.java index 365548599937..cca3f062056b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,6 +29,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -37,7 +38,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to New Relic. @@ -47,7 +47,7 @@ * @author Artsiom Yudovin * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java index fa027bb45de9..1a828eb2aeab 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,6 +38,7 @@ import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusPushGatewayManager; import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusPushGatewayManager.ShutdownOperation; import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusScrapeEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -47,7 +48,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.core.log.LogMessage; import org.springframework.util.StringUtils; @@ -59,7 +59,7 @@ * @author David J. M. Karlsen * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) @@ -87,7 +87,7 @@ public CollectorRegistry collectorRegistry() { return new CollectorRegistry(true); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = PrometheusScrapeEndpoint.class) public static class PrometheusScrapeEndpointConfiguration { @@ -103,7 +103,7 @@ public PrometheusScrapeEndpoint prometheusEndpoint(CollectorRegistry collectorRe * Configuration for Prometheus * Pushgateway. */ - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(PushGateway.class) @ConditionalOnProperty(prefix = "management.metrics.export.prometheus.pushgateway", name = "enabled") public static class PrometheusPushGatewayConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxMetricsExportAutoConfiguration.java index ff1f418f9d6f..d9f8287debcd 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to SignalFX. @@ -41,7 +41,7 @@ * @author Andy Wilkinson * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleMetricsExportAutoConfiguration.java index a4f29cd79584..bc832071e0fd 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to a @@ -41,7 +41,7 @@ * @author Jon Schneider * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter(MetricsAutoConfiguration.class) @AutoConfigureBefore(CompositeMeterRegistryAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/stackdriver/StackdriverMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/stackdriver/StackdriverMetricsExportAutoConfiguration.java index 1556411fd06d..f90aaf152cb4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/stackdriver/StackdriverMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/stackdriver/StackdriverMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to @@ -42,7 +42,7 @@ * @author Stephane Nicoll * @since 2.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdMetricsExportAutoConfiguration.java index 3838da8dcf6c..d68d660efd09 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to StatsD. @@ -40,7 +40,7 @@ * @author Jon Schneider * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfiguration.java index 9ad48ca40abd..d17ca338ed5b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,6 +29,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontProperties.Sender; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -38,7 +39,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.PropertyMapper; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.util.unit.DataSize; /** @@ -49,7 +49,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore({ CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @AutoConfigureAfter(MetricsAutoConfiguration.class) @ConditionalOnBean(Clock.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/graphql/GraphQlMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/graphql/GraphQlMetricsAutoConfiguration.java index c9ad464b6fa1..d5ec29fa459c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/graphql/GraphQlMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/graphql/GraphQlMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2020-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,6 +30,7 @@ import org.springframework.boot.actuate.metrics.graphql.GraphQlMetricsInstrumentation; import org.springframework.boot.actuate.metrics.graphql.GraphQlTagsContributor; import org.springframework.boot.actuate.metrics.graphql.GraphQlTagsProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -37,7 +38,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.graphql.execution.GraphQlSource; /** @@ -47,7 +47,7 @@ * @author Brian Clozel * @since 2.7.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @ConditionalOnBean(MeterRegistry.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/IntegrationMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/IntegrationMetricsAutoConfiguration.java index 9bd2a75a45fd..5257519ddf8c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/IntegrationMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/IntegrationMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,11 +20,11 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for Spring Integration's metrics. @@ -36,7 +36,7 @@ */ @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @AutoConfigureBefore(IntegrationAutoConfiguration.class) -@Configuration(proxyBeanMethods = false) +@AutoConfiguration class IntegrationMetricsAutoConfiguration { } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java index 60a4e46436bb..76db4d3e0e88 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,6 +36,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; import org.springframework.boot.actuate.metrics.jdbc.DataSourcePoolMetrics; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -43,7 +44,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.jdbc.DataSourceUnwrapper; import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadataProvider; -import org.springframework.context.annotation.Configuration; import org.springframework.core.log.LogMessage; import org.springframework.util.StringUtils; @@ -54,14 +54,14 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, DataSourceAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @ConditionalOnClass({ DataSource.class, MeterRegistry.class }) @ConditionalOnBean({ DataSource.class, MeterRegistry.class }) public class DataSourcePoolMetricsAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnBean(DataSourcePoolMetadataProvider.class) static class DataSourcePoolMetadataMetricsConfiguration { @@ -98,7 +98,7 @@ private String getDataSourceName(String beanName) { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(HikariDataSource.class) static class HikariDataSourceMetricsConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfiguration.java index 672aba3e8ae5..3728cc90fa42 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,6 +32,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Web.Server; import org.springframework.boot.actuate.autoconfigure.metrics.OnlyOnceLoggingDenyMeterFilter; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -41,7 +42,6 @@ import org.springframework.boot.autoconfigure.jersey.ResourceConfigCustomizer; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.core.annotation.Order; @@ -53,7 +53,7 @@ * @author Andy Wilkinson * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) @ConditionalOnClass({ ResourceConfig.class, MetricsApplicationEventListener.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/MongoMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/MongoMetricsAutoConfiguration.java index a78f8b77005f..b28a09433f9b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/MongoMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/MongoMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -37,7 +38,6 @@ import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; import org.springframework.boot.autoconfigure.mongo.MongoClientSettingsBuilderCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for Mongo metrics. @@ -46,7 +46,7 @@ * @author Jonatan Ivanov * @since 2.5.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore(MongoAutoConfiguration.class) @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass(MongoClientSettings.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/orm/jpa/HibernateMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/orm/jpa/HibernateMetricsAutoConfiguration.java index baf55db1fb04..90159601e1c6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/orm/jpa/HibernateMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/orm/jpa/HibernateMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,12 +29,12 @@ import org.springframework.beans.factory.SmartInitializingSingleton; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; -import org.springframework.context.annotation.Configuration; import org.springframework.util.StringUtils; /** @@ -45,7 +45,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, HibernateJpaAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @ConditionalOnClass({ EntityManagerFactory.class, SessionFactory.class, HibernateMetrics.class, MeterRegistry.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/r2dbc/ConnectionPoolMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/r2dbc/ConnectionPoolMetricsAutoConfiguration.java index fa21ac1fb05f..356357e5e72c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/r2dbc/ConnectionPoolMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/r2dbc/ConnectionPoolMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,12 +27,12 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; import org.springframework.boot.actuate.metrics.r2dbc.ConnectionPoolMetrics; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for metrics on all available @@ -42,7 +42,7 @@ * @author Stephane Nicoll * @since 2.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class, R2dbcAutoConfiguration.class }) @ConditionalOnClass({ ConnectionPool.class, MeterRegistry.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/redis/LettuceMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/redis/LettuceMetricsAutoConfiguration.java index d7490d76b50d..3bf085801ae6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/redis/LettuceMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/redis/LettuceMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -30,7 +31,6 @@ import org.springframework.boot.autoconfigure.data.redis.ClientResourcesBuilderCustomizer; import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * Auto-configuration for Lettuce metrics. @@ -39,7 +39,7 @@ * @author Yanming Zhou * @since 2.6.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureBefore(RedisAutoConfiguration.class) @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass({ RedisClient.class, MicrometerCommandLatencyRecorder.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/startup/StartupTimeMetricsListenerAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/startup/StartupTimeMetricsListenerAutoConfiguration.java index 9e678e191bab..169e2148bc99 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/startup/StartupTimeMetricsListenerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/startup/StartupTimeMetricsListenerAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,13 +21,13 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.metrics.startup.StartupTimeMetricsListener; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for startup time metrics. @@ -35,7 +35,7 @@ * @author Chris Bono * @since 2.6.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass(MeterRegistry.class) @ConditionalOnBean(MeterRegistry.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/task/TaskExecutorMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/task/TaskExecutorMetricsAutoConfiguration.java index f929ac84be7b..1d50dcfdc91a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/task/TaskExecutorMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/task/TaskExecutorMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,13 +27,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration; import org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration; -import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; @@ -46,7 +46,7 @@ * @author Scott Frederick * @since 2.6.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class, TaskExecutionAutoConfiguration.class, TaskSchedulingAutoConfiguration.class }) @ConditionalOnClass(ExecutorServiceMetrics.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/HttpClientMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/HttpClientMetricsAutoConfiguration.java index 206b0d76dc44..e66d8068020a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/HttpClientMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/HttpClientMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,13 +24,13 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties; import org.springframework.boot.actuate.autoconfigure.metrics.OnlyOnceLoggingDenyMeterFilter; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.annotation.Order; @@ -43,7 +43,7 @@ * @author Raheela Aslam * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class, RestTemplateAutoConfiguration.class }) @ConditionalOnClass(MeterRegistry.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/jetty/JettyMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/jetty/JettyMetricsAutoConfiguration.java index c9d1e302b565..78b31899a6b3 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/jetty/JettyMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/jetty/JettyMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,6 +26,7 @@ import org.springframework.boot.actuate.metrics.web.jetty.JettyConnectionMetricsBinder; import org.springframework.boot.actuate.metrics.web.jetty.JettyServerThreadPoolMetricsBinder; import org.springframework.boot.actuate.metrics.web.jetty.JettySslHandshakeMetricsBinder; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -34,7 +35,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for Jetty metrics. @@ -43,7 +43,7 @@ * @author Chris Bono * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication @ConditionalOnClass({ JettyServerThreadPoolMetrics.class, Server.class }) @ConditionalOnBean(MeterRegistry.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/reactive/WebFluxMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/reactive/WebFluxMetricsAutoConfiguration.java index 2975e76f710f..a517ff10098c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/reactive/WebFluxMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/reactive/WebFluxMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,13 +32,13 @@ import org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter; import org.springframework.boot.actuate.metrics.web.reactive.server.WebFluxTagsContributor; import org.springframework.boot.actuate.metrics.web.reactive.server.WebFluxTagsProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; /** @@ -49,7 +49,7 @@ * @author Dmytro Nosan * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @ConditionalOnBean(MeterRegistry.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/servlet/WebMvcMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/servlet/WebMvcMetricsAutoConfiguration.java index 63dafbe895e2..0a7f90435492 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/servlet/WebMvcMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/servlet/WebMvcMetricsAutoConfiguration.java @@ -35,6 +35,7 @@ import org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter; import org.springframework.boot.actuate.metrics.web.servlet.WebMvcTagsContributor; import org.springframework.boot.actuate.metrics.web.servlet.WebMvcTagsProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -44,7 +45,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.web.servlet.DispatcherServlet; @@ -59,7 +59,7 @@ * @author Dmytro Nosan * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter({ MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class }) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/TomcatMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/TomcatMetricsAutoConfiguration.java index e3d17f6ee792..dd3a4ffe1c80 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/TomcatMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/TomcatMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; import org.springframework.boot.actuate.metrics.web.tomcat.TomcatMetricsBinder; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link TomcatMetrics}. @@ -37,7 +37,7 @@ * @author Andy Wilkinson * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication @ConditionalOnClass({ TomcatMetrics.class, Manager.class }) @AutoConfigureAfter(CompositeMeterRegistryAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthContributorAutoConfiguration.java index c239a83c3bc3..6b60c830fc9d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.mongo.MongoHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -30,7 +31,6 @@ import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration; import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.core.MongoTemplate; /** @@ -39,7 +39,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(MongoTemplate.class) @ConditionalOnBean(MongoTemplate.class) @ConditionalOnEnabledHealthIndicator("mongo") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoReactiveHealthContributorAutoConfiguration.java index 6ec83dcb5533..6dee496b9102 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoReactiveHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.actuate.mongo.MongoReactiveHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.core.ReactiveMongoTemplate; /** @@ -41,7 +41,7 @@ * @author Stephane Nicoll * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ ReactiveMongoTemplate.class, Flux.class }) @ConditionalOnBean(ReactiveMongoTemplate.class) @ConditionalOnEnabledHealthIndicator("mongo") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java index 7730ddf6293e..ac6a0a32947f 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,12 +23,12 @@ import org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthContributorConfigurations.Neo4jReactiveConfiguration; import org.springframework.boot.actuate.neo4j.Neo4jHealthIndicator; import org.springframework.boot.actuate.neo4j.Neo4jReactiveHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** @@ -40,7 +40,7 @@ * @author Michael J. Simons * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Driver.class) @ConditionalOnBean(Driver.class) @ConditionalOnEnabledHealthIndicator("neo4j") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/quartz/QuartzEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/quartz/QuartzEndpointAutoConfiguration.java index e3a0656682f3..4b699fb7e3a0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/quartz/QuartzEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/quartz/QuartzEndpointAutoConfiguration.java @@ -22,6 +22,7 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.expose.EndpointExposure; import org.springframework.boot.actuate.quartz.QuartzEndpoint; import org.springframework.boot.actuate.quartz.QuartzEndpointWebExtension; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link QuartzEndpoint}. @@ -38,7 +38,7 @@ * @author Stephane Nicoll * @since 2.5.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Scheduler.class) @AutoConfigureAfter(QuartzAutoConfiguration.class) @ConditionalOnAvailableEndpoint(endpoint = QuartzEndpoint.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/ConnectionFactoryHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/ConnectionFactoryHealthContributorAutoConfiguration.java index 167800f00859..f58900d2c35a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/ConnectionFactoryHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/ConnectionFactoryHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.actuate.r2dbc.ConnectionFactoryHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for @@ -40,7 +40,7 @@ * @author Mark Paluch * @since 2.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(ConnectionFactory.class) @ConditionalOnBean(ConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("r2dbc") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/redis/RedisHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/redis/RedisHealthContributorAutoConfiguration.java index 4dc44d3c25a2..499437ac9832 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/redis/RedisHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/redis/RedisHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.redis.RedisHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; /** @@ -41,7 +41,7 @@ * @author Mark Paluch * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(RedisConnectionFactory.class) @ConditionalOnBean(RedisConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("redis") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/redis/RedisReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/redis/RedisReactiveHealthContributorAutoConfiguration.java index 4ac2cd9948ee..f785c3dd36cd 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/redis/RedisReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/redis/RedisReactiveHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.actuate.redis.RedisReactiveHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; /** @@ -44,7 +44,7 @@ * @author Mark Paluch * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ ReactiveRedisConnectionFactory.class, Flux.class }) @ConditionalOnBean(ReactiveRedisConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("redis") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java index e577d6da3fe3..c66b53249483 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,10 +21,10 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.scheduling.ScheduledTasksEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.config.ScheduledTaskHolder; /** @@ -33,7 +33,7 @@ * @author Andy Wilkinson * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = ScheduledTasksEndpoint.class) public class ScheduledTasksEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/reactive/ReactiveManagementWebSecurityAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/reactive/ReactiveManagementWebSecurityAutoConfiguration.java index 7b96c7745b93..8f6348097214 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/reactive/ReactiveManagementWebSecurityAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/reactive/ReactiveManagementWebSecurityAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration; import org.springframework.boot.actuate.health.HealthEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -30,7 +31,6 @@ import org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration; import org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; import org.springframework.security.config.web.server.SecurityWebFiltersOrder; @@ -48,7 +48,7 @@ * @author Madhura Bhave * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ EnableWebFluxSecurity.class, WebFilterChainProxy.class }) @ConditionalOnMissingBean({ SecurityWebFilterChain.class, WebFilterChainProxy.class }) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/ManagementWebSecurityAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/ManagementWebSecurityAutoConfiguration.java index e3d68aca5a3c..6dbfd769ebcf 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/ManagementWebSecurityAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/ManagementWebSecurityAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration; import org.springframework.boot.actuate.health.HealthEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; @@ -49,7 +49,7 @@ * @author Hatef Palizgar * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) @ConditionalOnDefaultWebSecurity @AutoConfigureBefore(SecurityAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/session/SessionsEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/session/SessionsEndpointAutoConfiguration.java index 57f8d0a547f4..37cd330205e1 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/session/SessionsEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/session/SessionsEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.session.SessionsEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -25,7 +26,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.session.SessionAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.session.FindByIndexNameSessionRepository; import org.springframework.session.Session; @@ -35,7 +35,7 @@ * @author Vedran Pavic * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(FindByIndexNameSessionRepository.class) @ConditionalOnAvailableEndpoint(endpoint = SessionsEndpoint.class) @AutoConfigureAfter(SessionAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/solr/SolrHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/solr/SolrHealthContributorAutoConfiguration.java index 682536ec5c6b..bb9a1f330599 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/solr/SolrHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/solr/SolrHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.solr.SolrHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link SolrHealthIndicator}. @@ -40,7 +40,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(SolrClient.class) @ConditionalOnBean(SolrClient.class) @ConditionalOnEnabledHealthIndicator("solr") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/startup/StartupEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/startup/StartupEndpointAutoConfiguration.java index 21e94364e0fd..5f91740a9e66 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/startup/StartupEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/startup/StartupEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.startup.StartupEndpoint; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionMessage; import org.springframework.boot.autoconfigure.condition.ConditionOutcome; @@ -27,7 +28,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.core.metrics.ApplicationStartup; import org.springframework.core.type.AnnotatedTypeMetadata; @@ -37,7 +37,7 @@ * @author Brian Clozel * @since 2.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = StartupEndpoint.class) @Conditional(StartupEndpointAutoConfiguration.ApplicationStartupCondition.class) public class StartupEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfiguration.java index a23c85779201..c59da11dbc0a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,12 +19,12 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.actuate.system.DiskSpaceHealthIndicator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for @@ -34,7 +34,7 @@ * @author Andy Wilkinson * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnEnabledHealthIndicator("diskspace") @AutoConfigureBefore(HealthContributorAutoConfiguration.class) @EnableConfigurationProperties(DiskSpaceHealthIndicatorProperties.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceAutoConfiguration.java index 6997a5b9dbdf..a0dfc0d2204a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import org.springframework.boot.actuate.trace.http.HttpTraceRepository; import org.springframework.boot.actuate.web.trace.reactive.HttpTraceWebFilter; import org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -28,7 +29,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for HTTP tracing. @@ -36,7 +36,7 @@ * @author Dave Syer * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication @ConditionalOnProperty(prefix = "management.trace.http", name = "enabled", matchIfMissing = true) @ConditionalOnBean(HttpTraceRepository.class) @@ -49,7 +49,7 @@ public HttpExchangeTracer httpExchangeTracer(HttpTraceProperties traceProperties return new HttpExchangeTracer(traceProperties.getInclude()); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) static class ServletTraceFilterConfiguration { @@ -61,7 +61,7 @@ HttpTraceFilter httpTraceFilter(HttpTraceRepository repository, HttpExchangeTrac } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnWebApplication(type = Type.REACTIVE) static class ReactiveTraceFilterConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceEndpointAutoConfiguration.java index b820973b9d4a..e194adb1d151 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,12 +19,12 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.trace.http.HttpTraceEndpoint; import org.springframework.boot.actuate.trace.http.HttpTraceRepository; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for the {@link HttpTraceEndpoint}. @@ -32,7 +32,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = HttpTraceEndpoint.class) @AutoConfigureAfter(HttpTraceAutoConfiguration.class) public class HttpTraceEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java index 72e3aab572cb..e9489d382fc8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,6 +26,7 @@ import org.springframework.boot.actuate.web.mappings.servlet.DispatcherServletsMappingDescriptionProvider; import org.springframework.boot.actuate.web.mappings.servlet.FiltersMappingDescriptionProvider; import org.springframework.boot.actuate.web.mappings.servlet.ServletsMappingDescriptionProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -33,7 +34,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.web.reactive.DispatcherHandler; import org.springframework.web.servlet.DispatcherServlet; @@ -43,7 +43,7 @@ * @author Andy Wilkinson * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnAvailableEndpoint(endpoint = MappingsEndpoint.class) public class MappingsEndpointAutoConfiguration { @@ -54,7 +54,7 @@ public MappingsEndpoint mappingsEndpoint(ApplicationContext applicationContext, applicationContext); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) static class ServletWebConfiguration { @@ -68,7 +68,7 @@ FiltersMappingDescriptionProvider filterMappingDescriptionProvider() { return new FiltersMappingDescriptionProvider(); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(DispatcherServlet.class) @ConditionalOnBean(DispatcherServlet.class) static class SpringMvcConfiguration { @@ -82,7 +82,7 @@ DispatcherServletsMappingDescriptionProvider dispatcherServletMappingDescription } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnClass(DispatcherHandler.class) @ConditionalOnBean(DispatcherHandler.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/reactive/ReactiveManagementContextAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/reactive/ReactiveManagementContextAutoConfiguration.java index dc8f2c546a92..59b6b3ea8683 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/reactive/ReactiveManagementContextAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/reactive/ReactiveManagementContextAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,12 +18,12 @@ import reactor.core.publisher.Flux; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for Reactive-specific management @@ -32,7 +32,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Flux.class) @ConditionalOnWebApplication(type = Type.REACTIVE) public class ReactiveManagementContextAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java index 300c8a120d6b..973e5b3345f7 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties; import org.springframework.boot.actuate.autoconfigure.web.ManagementContextFactory; import org.springframework.boot.actuate.autoconfigure.web.ManagementContextType; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; @@ -35,7 +36,6 @@ import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.context.annotation.Configuration; import org.springframework.context.event.ContextClosedEvent; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.core.Ordered; @@ -55,12 +55,12 @@ * @author Andy Wilkinson * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE) @EnableConfigurationProperties({ WebEndpointProperties.class, ManagementServerProperties.class }) public class ManagementContextAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnManagementPort(ManagementPortType.SAME) static class SameManagementContextConfiguration implements SmartInitializingSingleton { @@ -110,7 +110,7 @@ public Object getProperty(String name) { }); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableManagementContext(ManagementContextType.SAME) static class EnableSameManagementContextConfiguration { @@ -118,7 +118,7 @@ static class EnableSameManagementContextConfiguration { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnManagementPort(ManagementPortType.DIFFERENT) static class DifferentManagementContextConfiguration implements ApplicationListener { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/servlet/ServletManagementContextAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/servlet/ServletManagementContextAutoConfiguration.java index f7a7fc2616d2..649144418921 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/servlet/ServletManagementContextAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/servlet/ServletManagementContextAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import javax.servlet.Servlet; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -27,7 +28,6 @@ import org.springframework.boot.web.servlet.filter.ApplicationContextHeaderFilter; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for Servlet-specific management @@ -36,7 +36,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Servlet.class) @ConditionalOnWebApplication(type = Type.SERVLET) public class ServletManagementContextAutoConfiguration { @@ -53,7 +53,7 @@ public ManagementServletContext managementServletContext(WebEndpointProperties p // Put Servlets and Filters in their own nested class so they don't force early // instantiation of ManagementServerProperties. - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnProperty(prefix = "management.server", name = "add-application-context-header", havingValue = "true") protected static class ApplicationContextFilterConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories index a5027fee1936..2c58e9ea736e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories @@ -1,108 +1,3 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -org.springframework.boot.actuate.autoconfigure.amqp.RabbitHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.audit.AuditEventsEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.availability.AvailabilityHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.availability.AvailabilityProbesAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.cache.CachesEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.cassandra.CassandraReactiveHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.cloudfoundry.servlet.CloudFoundryActuatorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.cloudfoundry.reactive.ReactiveCloudFoundryActuatorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.couchbase.CouchbaseHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.couchbase.CouchbaseReactiveHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.elasticsearch.ElasticSearchReactiveHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.elasticsearch.ElasticSearchRestHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.flyway.FlywayEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.hazelcast.HazelcastHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.influx.InfluxDbHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.integration.IntegrationGraphEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.jms.JmsHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.ldap.LdapHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.liquibase.LiquibaseEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.mail.MailHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.JvmMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.KafkaMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.Log4J2MetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.MetricsEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.SystemMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.amqp.RabbitMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.cache.CacheMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.data.RepositoryMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.appoptics.AppOpticsMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.atlas.AtlasMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.datadog.DatadogMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.dynatrace.DynatraceMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.elastic.ElasticMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.ganglia.GangliaMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.graphite.GraphiteMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.humio.HumioMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.influx.InfluxMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.jmx.JmxMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.kairos.KairosMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.newrelic.NewRelicMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.signalfx.SignalFxMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver.StackdriverMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.graphql.GraphQlMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.integration.IntegrationMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.mongo.MongoMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.r2dbc.ConnectionPoolMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.redis.LettuceMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.startup.StartupTimeMetricsListenerAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.web.client.HttpClientMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.web.jetty.JettyMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.web.reactive.WebFluxMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.web.servlet.WebMvcMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.mongo.MongoHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.mongo.MongoReactiveHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.quartz.QuartzEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.r2dbc.ConnectionFactoryHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.redis.RedisHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.redis.RedisReactiveHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.security.reactive.ReactiveManagementWebSecurityAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.session.SessionsEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.solr.SolrHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.startup.StartupEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthContributorAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.trace.http.HttpTraceAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.trace.http.HttpTraceEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.web.mappings.MappingsEndpointAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementContextAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration,\ -org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration=\ org.springframework.boot.actuate.autoconfigure.endpoint.web.ServletEndpointManagementContextConfiguration,\ org.springframework.boot.actuate.autoconfigure.endpoint.web.reactive.WebFluxEndpointManagementContextConfiguration,\ diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration new file mode 100644 index 000000000000..65d60fd00c69 --- /dev/null +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration @@ -0,0 +1,104 @@ +org.springframework.boot.actuate.autoconfigure.amqp.RabbitHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration +org.springframework.boot.actuate.autoconfigure.audit.AuditEventsEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.availability.AvailabilityHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.availability.AvailabilityProbesAutoConfiguration +org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.cache.CachesEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.cassandra.CassandraReactiveHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.cloudfoundry.servlet.CloudFoundryActuatorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.cloudfoundry.reactive.ReactiveCloudFoundryActuatorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.couchbase.CouchbaseHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.couchbase.CouchbaseReactiveHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.elasticsearch.ElasticSearchReactiveHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.elasticsearch.ElasticSearchRestHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.flyway.FlywayEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.hazelcast.HazelcastHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.influx.InfluxDbHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.integration.IntegrationGraphEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.jms.JmsHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.ldap.LdapHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.liquibase.LiquibaseEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.mail.MailHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.JvmMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.KafkaMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.Log4J2MetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.MetricsEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.SystemMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.amqp.RabbitMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.cache.CacheMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.data.RepositoryMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.appoptics.AppOpticsMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.atlas.AtlasMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.datadog.DatadogMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.dynatrace.DynatraceMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.elastic.ElasticMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.ganglia.GangliaMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.graphite.GraphiteMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.humio.HumioMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.influx.InfluxMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.jmx.JmxMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.kairos.KairosMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.newrelic.NewRelicMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.signalfx.SignalFxMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver.StackdriverMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.graphql.GraphQlMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.integration.IntegrationMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.mongo.MongoMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.r2dbc.ConnectionPoolMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.redis.LettuceMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.startup.StartupTimeMetricsListenerAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.web.client.HttpClientMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.web.jetty.JettyMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.web.reactive.WebFluxMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.web.servlet.WebMvcMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration +org.springframework.boot.actuate.autoconfigure.mongo.MongoHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.mongo.MongoReactiveHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.quartz.QuartzEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.r2dbc.ConnectionFactoryHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.redis.RedisHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.redis.RedisReactiveHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.security.reactive.ReactiveManagementWebSecurityAutoConfiguration +org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration +org.springframework.boot.actuate.autoconfigure.session.SessionsEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.solr.SolrHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.startup.StartupEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthContributorAutoConfiguration +org.springframework.boot.actuate.autoconfigure.trace.http.HttpTraceAutoConfiguration +org.springframework.boot.actuate.autoconfigure.trace.http.HttpTraceEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.web.mappings.MappingsEndpointAutoConfiguration +org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementContextAutoConfiguration +org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration +org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration From 9a8fee30e1579471a4a9dd059c4c3f17429999dd Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 11:26:50 +0100 Subject: [PATCH 06/33] Move autoconfigurations from spring.factories into file for new loader Done in spring-boot-devtools. --- .../autoconfigure/DevToolsDataSourceAutoConfiguration.java | 6 +++--- .../autoconfigure/DevToolsR2dbcAutoConfiguration.java | 6 +++--- .../autoconfigure/LocalDevToolsAutoConfiguration.java | 3 ++- .../autoconfigure/RemoteDevToolsAutoConfiguration.java | 5 +++-- .../src/main/resources/META-INF/spring.factories | 7 ------- ...rg.springframework.boot.autoconfigure.AutoConfiguration | 4 ++++ 6 files changed, 15 insertions(+), 16 deletions(-) create mode 100644 spring-boot-project/spring-boot-devtools/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration diff --git a/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsDataSourceAutoConfiguration.java b/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsDataSourceAutoConfiguration.java index 932e299b9379..3ba5d51da5d6 100644 --- a/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsDataSourceAutoConfiguration.java +++ b/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsDataSourceAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,6 +31,7 @@ import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.annotation.AnnotatedBeanDefinition; import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionMessage; @@ -46,7 +47,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ConfigurationCondition; import org.springframework.context.annotation.Import; import org.springframework.core.type.AnnotatedTypeMetadata; @@ -62,7 +62,7 @@ */ @AutoConfigureAfter(DataSourceAutoConfiguration.class) @Conditional({ OnEnabledDevToolsCondition.class, DevToolsDataSourceCondition.class }) -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @Import(DatabaseShutdownExecutorEntityManagerFactoryDependsOnPostProcessor.class) public class DevToolsDataSourceAutoConfiguration { diff --git a/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsR2dbcAutoConfiguration.java b/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsR2dbcAutoConfiguration.java index 288bc13fa4a5..03fce9604e81 100644 --- a/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsR2dbcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsR2dbcAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.annotation.AnnotatedBeanDefinition; import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionMessage; @@ -37,7 +38,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ConfigurationCondition; import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.core.type.MethodMetadata; @@ -52,7 +52,7 @@ @AutoConfigureAfter(R2dbcAutoConfiguration.class) @ConditionalOnClass(ConnectionFactory.class) @Conditional({ OnEnabledDevToolsCondition.class, DevToolsConnectionFactoryCondition.class }) -@Configuration(proxyBeanMethods = false) +@AutoConfiguration public class DevToolsR2dbcAutoConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/LocalDevToolsAutoConfiguration.java b/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/LocalDevToolsAutoConfiguration.java index 56da3a997dee..5164d09dd348 100644 --- a/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/LocalDevToolsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/LocalDevToolsAutoConfiguration.java @@ -23,6 +23,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -57,7 +58,7 @@ * @author Vladimir Tsanev * @since 1.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnInitializedRestarter @EnableConfigurationProperties(DevToolsProperties.class) public class LocalDevToolsAutoConfiguration { diff --git a/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/RemoteDevToolsAutoConfiguration.java b/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/RemoteDevToolsAutoConfiguration.java index 49656533c4de..0cef19efa2d7 100644 --- a/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/RemoteDevToolsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/RemoteDevToolsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -60,7 +61,7 @@ * @author Madhura Bhave * @since 1.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @Conditional(OnEnabledDevToolsCondition.class) @ConditionalOnProperty(prefix = "spring.devtools.remote", name = "secret") @ConditionalOnClass({ Filter.class, ServerHttpRequest.class }) diff --git a/spring-boot-project/spring-boot-devtools/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-devtools/src/main/resources/META-INF/spring.factories index 517ff32eca59..99fd33c26e26 100644 --- a/spring-boot-project/spring-boot-devtools/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-devtools/src/main/resources/META-INF/spring.factories @@ -7,13 +7,6 @@ org.springframework.context.ApplicationListener=\ org.springframework.boot.devtools.restart.RestartApplicationListener,\ org.springframework.boot.devtools.logger.DevToolsLogFactory.Listener -# Auto Configure -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration,\ -org.springframework.boot.devtools.autoconfigure.DevToolsR2dbcAutoConfiguration,\ -org.springframework.boot.devtools.autoconfigure.LocalDevToolsAutoConfiguration,\ -org.springframework.boot.devtools.autoconfigure.RemoteDevToolsAutoConfiguration - # Environment Post Processors org.springframework.boot.env.EnvironmentPostProcessor=\ org.springframework.boot.devtools.env.DevToolsHomePropertiesPostProcessor,\ diff --git a/spring-boot-project/spring-boot-devtools/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration b/spring-boot-project/spring-boot-devtools/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration new file mode 100644 index 000000000000..0fd85068cdea --- /dev/null +++ b/spring-boot-project/spring-boot-devtools/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration @@ -0,0 +1,4 @@ +org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration +org.springframework.boot.devtools.autoconfigure.DevToolsR2dbcAutoConfiguration +org.springframework.boot.devtools.autoconfigure.LocalDevToolsAutoConfiguration +org.springframework.boot.devtools.autoconfigure.RemoteDevToolsAutoConfiguration From bd0ee30cb4ce2a19054af1d830619b480a15e70e Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 11:37:13 +0100 Subject: [PATCH 07/33] Move autoconfigurations from spring.factories into file for new loader Done in spring-boot-tests. --- .../java/sample/autoconfig/ExampleAutoConfiguration.java | 6 +++--- .../src/main/resources/META-INF/spring.factories | 2 -- ...org.springframework.boot.autoconfigure.AutoConfiguration | 1 + .../main/java/com/autoconfig/ExampleAutoConfiguration.java | 5 +++-- .../src/main/resources/META-INF/spring.factories | 2 -- ...org.springframework.boot.autoconfigure.AutoConfiguration | 1 + 6 files changed, 8 insertions(+), 9 deletions(-) delete mode 100644 spring-boot-system-tests/spring-boot-deployment-tests/src/main/resources/META-INF/spring.factories create mode 100644 spring-boot-system-tests/spring-boot-deployment-tests/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration delete mode 100644 spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/resources/META-INF/spring.factories create mode 100644 spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration diff --git a/spring-boot-system-tests/spring-boot-deployment-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java b/spring-boot-system-tests/spring-boot-deployment-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java index ad1494224572..ab6e9de1fc7e 100644 --- a/spring-boot-system-tests/spring-boot-deployment-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java +++ b/spring-boot-system-tests/spring-boot-deployment-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,12 +18,12 @@ import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnWarDeployment; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; @ConditionalOnWarDeployment -@Configuration +@AutoConfiguration public class ExampleAutoConfiguration { @Bean diff --git a/spring-boot-system-tests/spring-boot-deployment-tests/src/main/resources/META-INF/spring.factories b/spring-boot-system-tests/spring-boot-deployment-tests/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 5335e6cae91c..000000000000 --- a/spring-boot-system-tests/spring-boot-deployment-tests/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -sample.autoconfig.ExampleAutoConfiguration \ No newline at end of file diff --git a/spring-boot-system-tests/spring-boot-deployment-tests/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration b/spring-boot-system-tests/spring-boot-deployment-tests/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration new file mode 100644 index 000000000000..6f98cb3b0835 --- /dev/null +++ b/spring-boot-system-tests/spring-boot-deployment-tests/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration @@ -0,0 +1 @@ +sample.autoconfig.ExampleAutoConfiguration \ No newline at end of file diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/java/com/autoconfig/ExampleAutoConfiguration.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/java/com/autoconfig/ExampleAutoConfiguration.java index 7b11408097fa..8992abeac205 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/java/com/autoconfig/ExampleAutoConfiguration.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/java/com/autoconfig/ExampleAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,13 +23,14 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnWarDeployment; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; -@Configuration +@AutoConfiguration public class ExampleAutoConfiguration { @Bean diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/resources/META-INF/spring.factories b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 3e7307341f74..000000000000 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.autoconfig.ExampleAutoConfiguration \ No newline at end of file diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration new file mode 100644 index 000000000000..73f489824b16 --- /dev/null +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/spring-boot-server-tests-app/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration @@ -0,0 +1 @@ +com.autoconfig.ExampleAutoConfiguration \ No newline at end of file From b37256622f401185b1417952bf854e03ccf4a4de Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 13:40:35 +0100 Subject: [PATCH 08/33] Move autoconfigurations from spring.factories into file for new loader Done in spring-boot-autoconfigure. --- ...gApplicationAdminJmxAutoConfiguration.java | 6 +- .../amqp/RabbitAutoConfiguration.java | 12 +- .../aop/AopAutoConfiguration.java | 14 +- ...licationAvailabilityAutoConfiguration.java | 6 +- .../batch/BatchAutoConfiguration.java | 8 +- .../cache/CacheAutoConfiguration.java | 6 +- .../cassandra/CassandraAutoConfiguration.java | 6 +- ...figurationPropertiesAutoConfiguration.java | 6 +- .../context/LifecycleAutoConfiguration.java | 6 +- .../MessageSourceAutoConfiguration.java | 6 +- .../PropertyPlaceholderAutoConfiguration.java | 6 +- .../couchbase/CouchbaseAutoConfiguration.java | 8 +- ...ExceptionTranslationAutoConfiguration.java | 6 +- .../CassandraDataAutoConfiguration.java | 6 +- ...assandraReactiveDataAutoConfiguration.java | 6 +- ...ReactiveRepositoriesAutoConfiguration.java | 6 +- ...assandraRepositoriesAutoConfiguration.java | 6 +- .../CouchbaseDataAutoConfiguration.java | 8 +- ...ouchbaseReactiveDataAutoConfiguration.java | 6 +- ...ReactiveRepositoriesAutoConfiguration.java | 6 +- ...ouchbaseRepositoriesAutoConfiguration.java | 6 +- .../ElasticsearchDataAutoConfiguration.java | 4 +- ...icsearchRepositoriesAutoConfiguration.java | 6 +- ...icsearchRepositoriesAutoConfiguration.java | 4 +- ...sticsearchRestClientAutoConfiguration.java | 4 +- .../JdbcRepositoriesAutoConfiguration.java | 10 +- .../jpa/JpaRepositoriesAutoConfiguration.java | 6 +- .../LdapRepositoriesAutoConfiguration.java | 6 +- .../mongo/MongoDataAutoConfiguration.java | 6 +- .../MongoReactiveDataAutoConfiguration.java | 6 +- ...ReactiveRepositoriesAutoConfiguration.java | 6 +- .../MongoRepositoriesAutoConfiguration.java | 6 +- .../neo4j/Neo4jDataAutoConfiguration.java | 6 +- .../Neo4jReactiveDataAutoConfiguration.java | 6 +- ...ReactiveRepositoriesAutoConfiguration.java | 6 +- .../Neo4jRepositoriesAutoConfiguration.java | 6 +- .../r2dbc/R2dbcDataAutoConfiguration.java | 6 +- .../R2dbcRepositoriesAutoConfiguration.java | 6 +- .../data/redis/RedisAutoConfiguration.java | 6 +- .../redis/RedisReactiveAutoConfiguration.java | 6 +- .../RedisRepositoriesAutoConfiguration.java | 6 +- .../RepositoryRestMvcAutoConfiguration.java | 6 +- .../web/SpringDataWebAutoConfiguration.java | 6 +- ...sticsearchRestClientAutoConfiguration.java | 6 +- .../flyway/FlywayAutoConfiguration.java | 6 +- .../FreeMarkerAutoConfiguration.java | 6 +- .../graphql/GraphQlAutoConfiguration.java | 4 +- ...raphQlQueryByExampleAutoConfiguration.java | 6 +- .../GraphQlQuerydslAutoConfiguration.java | 6 +- ...activeQueryByExampleAutoConfiguration.java | 6 +- ...phQlReactiveQuerydslAutoConfiguration.java | 6 +- .../GraphQlWebFluxAutoConfiguration.java | 8 +- ...aphQlWebFluxSecurityAutoConfiguration.java | 6 +- ...raphQlWebMvcSecurityAutoConfiguration.java | 6 +- .../GraphQlWebMvcAutoConfiguration.java | 8 +- .../GroovyTemplateAutoConfiguration.java | 10 +- .../gson/GsonAutoConfiguration.java | 6 +- .../h2/H2ConsoleAutoConfiguration.java | 6 +- .../hateoas/HypermediaAutoConfiguration.java | 8 +- .../hazelcast/HazelcastAutoConfiguration.java | 6 +- ...zelcastJpaDependencyAutoConfiguration.java | 6 +- ...ttpMessageConvertersAutoConfiguration.java | 8 +- .../http/codec/CodecsAutoConfiguration.java | 10 +- .../influx/InfluxDbAutoConfiguration.java | 6 +- .../info/ProjectInfoAutoConfiguration.java | 6 +- .../IntegrationAutoConfiguration.java | 26 ++-- .../jackson/JacksonAutoConfiguration.java | 14 +- .../jdbc/DataSourceAutoConfiguration.java | 10 +- ...ceTransactionManagerAutoConfiguration.java | 8 +- .../jdbc/JdbcTemplateAutoConfiguration.java | 6 +- .../jdbc/JndiDataSourceAutoConfiguration.java | 6 +- .../jdbc/XADataSourceAutoConfiguration.java | 6 +- .../jersey/JerseyAutoConfiguration.java | 10 +- .../jms/JmsAutoConfiguration.java | 10 +- ...ndiConnectionFactoryAutoConfiguration.java | 6 +- .../activemq/ActiveMQAutoConfiguration.java | 6 +- .../jms/artemis/ArtemisAutoConfiguration.java | 6 +- .../jmx/JmxAutoConfiguration.java | 6 +- .../jooq/JooqAutoConfiguration.java | 8 +- .../jsonb/JsonbAutoConfiguration.java | 6 +- .../kafka/KafkaAutoConfiguration.java | 4 +- .../ldap/LdapAutoConfiguration.java | 6 +- .../EmbeddedLdapAutoConfiguration.java | 8 +- .../liquibase/LiquibaseAutoConfiguration.java | 8 +- .../mail/MailSenderAutoConfiguration.java | 6 +- .../MailSenderValidatorAutoConfiguration.java | 6 +- .../mongo/MongoAutoConfiguration.java | 8 +- .../mongo/MongoReactiveAutoConfiguration.java | 10 +- .../EmbeddedMongoAutoConfiguration.java | 6 +- .../mustache/MustacheAutoConfiguration.java | 4 +- .../neo4j/Neo4jAutoConfiguration.java | 6 +- .../netty/NettyAutoConfiguration.java | 6 +- .../jpa/HibernateJpaAutoConfiguration.java | 6 +- .../quartz/QuartzAutoConfiguration.java | 8 +- .../r2dbc/R2dbcAutoConfiguration.java | 6 +- ...bcTransactionManagerAutoConfiguration.java | 6 +- .../RSocketMessagingAutoConfiguration.java | 6 +- .../RSocketRequesterAutoConfiguration.java | 6 +- .../RSocketServerAutoConfiguration.java | 10 +- .../RSocketStrategiesAutoConfiguration.java | 10 +- ...ReactiveOAuth2ClientAutoConfiguration.java | 6 +- .../OAuth2ClientAutoConfiguration.java | 6 +- ...OAuth2ResourceServerAutoConfiguration.java | 6 +- ...OAuth2ResourceServerAutoConfiguration.java | 6 +- .../ReactiveSecurityAutoConfiguration.java | 8 +- ...veUserDetailsServiceAutoConfiguration.java | 5 +- .../RSocketSecurityAutoConfiguration.java | 6 +- .../Saml2RelyingPartyAutoConfiguration.java | 6 +- .../servlet/SecurityAutoConfiguration.java | 6 +- .../SecurityFilterAutoConfiguration.java | 6 +- .../UserDetailsServiceAutoConfiguration.java | 4 +- .../sendgrid/SendGridAutoConfiguration.java | 6 +- .../session/SessionAutoConfiguration.java | 16 +- .../solr/SolrAutoConfiguration.java | 6 +- .../SqlInitializationAutoConfiguration.java | 6 +- .../task/TaskExecutionAutoConfiguration.java | 6 +- .../task/TaskSchedulingAutoConfiguration.java | 6 +- .../thymeleaf/ThymeleafAutoConfiguration.java | 26 ++-- .../TransactionAutoConfiguration.java | 14 +- .../transaction/jta/JtaAutoConfiguration.java | 6 +- .../ValidationAutoConfiguration.java | 6 +- .../client/RestTemplateAutoConfiguration.java | 6 +- ...verFactoryCustomizerAutoConfiguration.java | 14 +- .../HttpHandlerAutoConfiguration.java | 8 +- .../ReactiveMultipartAutoConfiguration.java | 6 +- ...tiveWebServerFactoryAutoConfiguration.java | 6 +- .../reactive/WebFluxAutoConfiguration.java | 14 +- ...WebSessionIdResolverAutoConfiguration.java | 6 +- .../error/ErrorWebFluxAutoConfiguration.java | 6 +- .../ClientHttpConnectorAutoConfiguration.java | 6 +- .../client/WebClientAutoConfiguration.java | 8 +- .../DispatcherServletAutoConfiguration.java | 10 +- .../HttpEncodingAutoConfiguration.java | 6 +- .../servlet/MultipartAutoConfiguration.java | 6 +- ...vletWebServerFactoryAutoConfiguration.java | 6 +- .../web/servlet/WebMvcAutoConfiguration.java | 12 +- .../error/ErrorMvcAutoConfiguration.java | 10 +- .../WebServicesAutoConfiguration.java | 8 +- .../WebServiceTemplateAutoConfiguration.java | 6 +- .../WebSocketReactiveAutoConfiguration.java | 8 +- .../WebSocketMessagingAutoConfiguration.java | 8 +- .../WebSocketServletAutoConfiguration.java | 14 +- .../main/resources/META-INF/spring.factories | 145 ------------------ ...ework.boot.autoconfigure.AutoConfiguration | 142 +++++++++++++++++ .../AutoConfigurationImportSelectorTests.java | 8 +- .../ExampleFilteredAutoConfiguration.java | 6 +- 146 files changed, 663 insertions(+), 667 deletions(-) create mode 100644 spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java index 80eaa31f59a5..eac2f5d98014 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,12 +21,12 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.admin.SpringApplicationAdminMXBean; import org.springframework.boot.admin.SpringApplicationAdminMXBeanRegistrar; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.jmx.export.MBeanExporter; @@ -39,7 +39,7 @@ * @since 1.3.0 * @see SpringApplicationAdminMXBean */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter(JmxAutoConfiguration.class) @ConditionalOnProperty(prefix = "spring.application.admin", value = "enabled", havingValue = "true", matchIfMissing = false) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java index e1f68c7f3ba8..b9d43b3f7814 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +33,7 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -40,7 +41,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.io.ResourceLoader; @@ -85,13 +85,13 @@ * @author Chris Bono * @since 1.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ RabbitTemplate.class, Channel.class }) @EnableConfigurationProperties(RabbitProperties.class) @Import({ RabbitAnnotationDrivenConfiguration.class, RabbitStreamConfiguration.class }) public class RabbitAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration protected static class RabbitConnectionFactoryCreator { @Bean @@ -137,7 +137,7 @@ CachingConnectionFactory rabbitConnectionFactory( } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @Import(RabbitConnectionFactoryCreator.class) protected static class RabbitTemplateConfiguration { @@ -172,7 +172,7 @@ public AmqpAdmin amqpAdmin(ConnectionFactory connectionFactory) { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(RabbitMessagingTemplate.class) @ConditionalOnMissingBean(RabbitMessagingTemplate.class) @Import(RabbitTemplateConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java index 3755286d5585..3cb996d37831 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,11 +21,11 @@ import org.springframework.aop.config.AopConfigUtils; import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.beans.factory.support.BeanDefinitionRegistry; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableAspectJAutoProxy; /** @@ -42,22 +42,22 @@ * @since 1.0.0 * @see EnableAspectJAutoProxy */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnProperty(prefix = "spring.aop", name = "auto", havingValue = "true", matchIfMissing = true) public class AopAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(Advice.class) static class AspectJAutoProxyingConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableAspectJAutoProxy(proxyTargetClass = false) @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "false") static class JdkDynamicAutoProxyConfiguration { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableAspectJAutoProxy(proxyTargetClass = true) @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "true", matchIfMissing = true) @@ -67,7 +67,7 @@ static class CglibAutoProxyConfiguration { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnMissingClass("org.aspectj.weaver.Advice") @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "true", matchIfMissing = true) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java index ed0e3d8a9d2c..e9b8397d4198 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,9 +16,9 @@ package org.springframework.boot.autoconfigure.availability; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.availability.ApplicationAvailabilityBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration} for @@ -27,7 +27,7 @@ * @author Brian Clozel * @since 2.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration public class ApplicationAvailabilityAutoConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java index 3d1be7b897a2..bfb2ee9803d0 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,7 @@ import org.springframework.batch.core.repository.JobRepository; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.ExitCodeGenerator; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -39,7 +40,6 @@ import org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.jdbc.datasource.init.DatabasePopulator; import org.springframework.util.StringUtils; @@ -61,7 +61,7 @@ * @author Mahmoud Ben Hassine * @since 1.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ JobLauncher.class, DataSource.class }) @AutoConfigureAfter(HibernateJpaAutoConfiguration.class) @ConditionalOnBean(JobLauncher.class) @@ -102,7 +102,7 @@ public SimpleJobOperator jobOperator(ObjectProvider jobP return factory; } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnBean(DataSource.class) @ConditionalOnClass(DatabasePopulator.class) @Conditional(OnBatchDatasourceInitializationCondition.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java index 36093f449c5f..685ee4d8a080 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.CacheConfigurationImportSelector; @@ -37,7 +38,6 @@ import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.interceptor.CacheAspectSupport; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.ImportSelector; import org.springframework.core.type.AnnotationMetadata; @@ -56,7 +56,7 @@ * @since 1.3.0 * @see EnableCaching */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(CacheManager.class) @ConditionalOnBean(CacheAspectSupport.class) @ConditionalOnMissingBean(value = CacheManager.class, name = "cacheResolver") diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java index 20882e550f2c..3b37e2e026a0 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -39,6 +39,7 @@ import com.typesafe.config.ConfigFactory; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.cassandra.CassandraProperties.Connection; import org.springframework.boot.autoconfigure.cassandra.CassandraProperties.Controlconnection; @@ -50,7 +51,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.PropertyMapper; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Scope; import org.springframework.core.io.Resource; @@ -65,7 +65,7 @@ * @author Steffen F. Qvistgaard * @since 1.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ CqlSession.class }) @EnableConfigurationProperties(CassandraProperties.class) public class CassandraAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.java index d08b3d4047e4..c04296e4537c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,10 +16,10 @@ package org.springframework.boot.autoconfigure.context; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for @@ -31,7 +31,7 @@ * @see EnableConfigurationProperties * @see ConfigurationProperties */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @EnableConfigurationProperties public class ConfigurationPropertiesAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.java index 70ade77b05bc..882878c16419 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,12 +16,12 @@ package org.springframework.boot.autoconfigure.context; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.SearchStrategy; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.DefaultLifecycleProcessor; @@ -32,7 +32,7 @@ * @author Andy Wilkinson * @since 2.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @EnableConfigurationProperties(LifecycleProperties.class) public class LifecycleAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.java index 40865235dda0..c4c76c0692f7 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import java.time.Duration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionMessage; @@ -32,7 +33,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ResourceBundleMessageSource; import org.springframework.core.Ordered; @@ -50,7 +50,7 @@ * @author Eddú Meléndez * @since 1.5.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnMissingBean(name = AbstractApplicationContext.MESSAGE_SOURCE_BEAN_NAME, search = SearchStrategy.CURRENT) @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @Conditional(ResourceBundleCondition.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.java index 92382a810b76..fc59fa5a92d6 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,12 +16,12 @@ package org.springframework.boot.autoconfigure.context; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.SearchStrategy; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.core.Ordered; @@ -33,7 +33,7 @@ * @author Dave Syer * @since 1.5.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) public class PropertyPlaceholderAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java index 9500605a03c9..a2331072753d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,6 +35,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -45,7 +46,6 @@ import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.util.ResourceUtils; @@ -57,7 +57,7 @@ * @author Yulin Qin * @since 1.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter(JacksonAutoConfiguration.class) @ConditionalOnClass(Cluster.class) @ConditionalOnProperty("spring.couchbase.connection-string") @@ -122,7 +122,7 @@ private KeyStore loadKeyStore(String resource, String keyStorePassword) throws E return store; } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(ObjectMapper.class) static class JacksonConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/dao/PersistenceExceptionTranslationAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/dao/PersistenceExceptionTranslationAutoConfiguration.java index d0615321641e..2b48e77c3c6e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/dao/PersistenceExceptionTranslationAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/dao/PersistenceExceptionTranslationAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,12 +16,12 @@ package org.springframework.boot.autoconfigure.dao; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor; @@ -34,7 +34,7 @@ * @author Madhura Bhave * @since 1.2.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(PersistenceExceptionTranslationPostProcessor.class) public class PersistenceExceptionTranslationAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfiguration.java index 80d1a4da5750..92b967c6e2bc 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import com.datastax.oss.driver.api.core.CqlSession; import org.springframework.beans.factory.BeanFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurationPackages; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -32,7 +33,6 @@ import org.springframework.boot.autoconfigure.domain.EntityScanPackages; import org.springframework.boot.context.properties.bind.Binder; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.data.cassandra.SessionFactory; import org.springframework.data.cassandra.config.CassandraEntityClassScanner; @@ -56,7 +56,7 @@ * @author Madhura Bhave * @since 1.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ CqlSession.class, CassandraAdminOperations.class }) @ConditionalOnBean(CqlSession.class) @AutoConfigureAfter(CassandraAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveDataAutoConfiguration.java index f5c866fe3942..df0e34497abf 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveDataAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,13 +19,13 @@ import com.datastax.oss.driver.api.core.CqlSession; import reactor.core.publisher.Flux; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.cassandra.ReactiveSession; import org.springframework.data.cassandra.ReactiveSessionFactory; import org.springframework.data.cassandra.core.ReactiveCassandraOperations; @@ -42,7 +42,7 @@ * @author Mark Paluch * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ CqlSession.class, ReactiveCassandraTemplate.class, Flux.class }) @ConditionalOnBean(CqlSession.class) @AutoConfigureAfter(CassandraDataAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveRepositoriesAutoConfiguration.java index 6a944ea444e0..75e509627898 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,13 +16,13 @@ package org.springframework.boot.autoconfigure.data.cassandra; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.ConditionalOnRepositoryType; import org.springframework.boot.autoconfigure.data.RepositoryType; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.cassandra.ReactiveSession; import org.springframework.data.cassandra.repository.ReactiveCassandraRepository; @@ -38,7 +38,7 @@ * @since 2.0.0 * @see EnableReactiveCassandraRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ ReactiveSession.class, ReactiveCassandraRepository.class }) @ConditionalOnRepositoryType(store = "cassandra", type = RepositoryType.REACTIVE) @ConditionalOnMissingBean(ReactiveCassandraRepositoryFactoryBean.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraRepositoriesAutoConfiguration.java index 9c357505d8d3..3c2f3a41ef9e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,12 +18,12 @@ import com.datastax.oss.driver.api.core.CqlSession; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.ConditionalOnRepositoryType; import org.springframework.boot.autoconfigure.data.RepositoryType; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.cassandra.repository.CassandraRepository; import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories; @@ -37,7 +37,7 @@ * @since 1.3.0 * @see EnableCassandraRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ CqlSession.class, CassandraRepository.class }) @ConditionalOnRepositoryType(store = "cassandra", type = RepositoryType.IMPERATIVE) @ConditionalOnMissingBean(CassandraRepositoryFactoryBean.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfiguration.java index 48a4f76c47c2..4b969b91ce95 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import com.couchbase.client.java.Bucket; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -28,7 +29,6 @@ import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.couchbase.core.mapping.event.ValidatingCouchbaseEventListener; import org.springframework.data.couchbase.repository.CouchbaseRepository; @@ -40,7 +40,7 @@ * @author Stephane Nicoll * @since 1.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Bucket.class, CouchbaseRepository.class }) @AutoConfigureAfter({ CouchbaseAutoConfiguration.class, ValidationAutoConfiguration.class }) @EnableConfigurationProperties(CouchbaseDataProperties.class) @@ -48,7 +48,7 @@ CouchbaseClientFactoryDependentConfiguration.class }) public class CouchbaseDataAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(Validator.class) public static class ValidationConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseReactiveDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseReactiveDataAutoConfiguration.java index 104a9419647c..c922dce8bdf8 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseReactiveDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseReactiveDataAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,10 +19,10 @@ import com.couchbase.client.java.Cluster; import reactor.core.publisher.Flux; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.couchbase.repository.ReactiveCouchbaseRepository; @@ -33,7 +33,7 @@ * @author Alex Derkach * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Cluster.class, ReactiveCouchbaseRepository.class, Flux.class }) @AutoConfigureAfter(CouchbaseDataAutoConfiguration.class) @Import(CouchbaseReactiveDataConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseReactiveRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseReactiveRepositoriesAutoConfiguration.java index c120b9b6b841..7e5f3bd65459 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseReactiveRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseReactiveRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import com.couchbase.client.java.Cluster; import reactor.core.publisher.Flux; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -26,7 +27,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.ConditionalOnRepositoryType; import org.springframework.boot.autoconfigure.data.RepositoryType; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.couchbase.repository.ReactiveCouchbaseRepository; import org.springframework.data.couchbase.repository.config.ReactiveRepositoryOperationsMapping; @@ -39,7 +39,7 @@ * @author Alex Derkach * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Cluster.class, ReactiveCouchbaseRepository.class, Flux.class }) @ConditionalOnRepositoryType(store = "couchbase", type = RepositoryType.REACTIVE) @ConditionalOnBean(ReactiveRepositoryOperationsMapping.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseRepositoriesAutoConfiguration.java index 536a23b580f7..133d47797589 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,13 @@ import com.couchbase.client.java.Bucket; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.ConditionalOnRepositoryType; import org.springframework.boot.autoconfigure.data.RepositoryType; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.couchbase.repository.CouchbaseRepository; import org.springframework.data.couchbase.repository.config.RepositoryOperationsMapping; @@ -38,7 +38,7 @@ * @author Stephane Nicoll * @since 1.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Bucket.class, CouchbaseRepository.class }) @ConditionalOnBean(RepositoryOperationsMapping.class) @ConditionalOnRepositoryType(store = "couchbase", type = RepositoryType.IMPERATIVE) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchDataAutoConfiguration.java index 46dee6bc4c3c..2da044cf858c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchDataAutoConfiguration.java @@ -16,11 +16,11 @@ package org.springframework.boot.autoconfigure.data.elasticsearch; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; @@ -37,7 +37,7 @@ * @see EnableElasticsearchRepositories * @see EnableReactiveElasticsearchRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ ElasticsearchRestTemplate.class }) @AutoConfigureAfter({ ElasticsearchRestClientAutoConfiguration.class, ReactiveElasticsearchRestClientAutoConfiguration.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchRepositoriesAutoConfiguration.java index c7f16934a7dc..4bee66b094e5 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,11 +18,11 @@ import org.elasticsearch.client.Client; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; @@ -37,7 +37,7 @@ * @since 1.1.0 * @see EnableElasticsearchRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Client.class, ElasticsearchRepository.class }) @ConditionalOnProperty(prefix = "spring.data.elasticsearch.repositories", name = "enabled", havingValue = "true", matchIfMissing = true) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRepositoriesAutoConfiguration.java index 49f9a7435427..97d235edb5de 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRepositoriesAutoConfiguration.java @@ -16,11 +16,11 @@ package org.springframework.boot.autoconfigure.data.elasticsearch; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; import org.springframework.data.elasticsearch.repository.ReactiveElasticsearchRepository; @@ -35,7 +35,7 @@ * @since 2.2.0 * @see EnableReactiveElasticsearchRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ ReactiveElasticsearchClient.class, ReactiveElasticsearchRepository.class }) @ConditionalOnProperty(prefix = "spring.data.elasticsearch.repositories", name = "enabled", havingValue = "true", matchIfMissing = true) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRestClientAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRestClientAutoConfiguration.java index 795f76585c26..a0ec6b74cbdf 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRestClientAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRestClientAutoConfiguration.java @@ -24,6 +24,7 @@ import reactor.netty.http.client.HttpClient; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -31,7 +32,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.PropertyMapper; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.elasticsearch.client.ClientConfiguration; import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; import org.springframework.data.elasticsearch.client.reactive.ReactiveRestClients; @@ -50,7 +50,7 @@ * @since 2.2.0 */ @SuppressWarnings("deprecation") -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ ReactiveRestClients.class, WebClient.class, HttpClient.class }) @EnableConfigurationProperties({ ElasticsearchProperties.class, ReactiveElasticsearchRestClientProperties.class, DeprecatedReactiveElasticsearchRestClientProperties.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java index 7f506b3338f7..1ce51bfe3f3c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.springframework.boot.autoconfigure.data.jdbc; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -24,7 +25,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration; import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories; @@ -44,7 +44,7 @@ * @since 2.1.0 * @see EnableJdbcRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnBean({ NamedParameterJdbcOperations.class, PlatformTransactionManager.class }) @ConditionalOnClass({ NamedParameterJdbcOperations.class, AbstractJdbcConfiguration.class }) @ConditionalOnProperty(prefix = "spring.data.jdbc.repositories", name = "enabled", havingValue = "true", @@ -52,14 +52,14 @@ @AutoConfigureAfter({ JdbcTemplateAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class }) public class JdbcRepositoriesAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnMissingBean(JdbcRepositoryConfigExtension.class) @Import(JdbcRepositoriesRegistrar.class) static class JdbcRepositoriesConfiguration { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnMissingBean(AbstractJdbcConfiguration.class) static class SpringBootJdbcConfiguration extends AbstractJdbcConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfiguration.java index 1bc95cdbc930..0489aa6d163f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import javax.sql.DataSource; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.AnyNestedCondition; @@ -33,7 +34,6 @@ import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.ImportSelector; import org.springframework.core.task.AsyncTaskExecutor; @@ -71,7 +71,7 @@ * @since 1.0.0 * @see EnableJpaRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnBean(DataSource.class) @ConditionalOnClass(JpaRepository.class) @ConditionalOnMissingBean({ JpaRepositoryFactoryBean.class, JpaRepositoryConfigExtension.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/ldap/LdapRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/ldap/LdapRepositoriesAutoConfiguration.java index bc67a1157b77..4dc1795c6058 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/ldap/LdapRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/ldap/LdapRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,11 +18,11 @@ import javax.naming.ldap.LdapContext; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.ldap.repository.LdapRepository; import org.springframework.data.ldap.repository.support.LdapRepositoryFactoryBean; @@ -33,7 +33,7 @@ * @author Eddú Meléndez * @since 1.5.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ LdapContext.class, LdapRepository.class }) @ConditionalOnProperty(prefix = "spring.data.ldap.repositories", name = "enabled", havingValue = "true", matchIfMissing = true) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java index 4d5cc03a7124..4729adf0f052 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,13 @@ import com.mongodb.client.MongoClient; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; import org.springframework.boot.autoconfigure.mongo.MongoProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.gridfs.GridFsTemplate; @@ -47,7 +47,7 @@ * @author Christoph Strobl * @since 1.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ MongoClient.class, MongoTemplate.class }) @EnableConfigurationProperties(MongoProperties.class) @Import({ MongoDataConfiguration.class, MongoDatabaseFactoryConfiguration.class, diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoReactiveDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoReactiveDataAutoConfiguration.java index c76c89c456dd..ee3cca66b231 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoReactiveDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoReactiveDataAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,6 +26,7 @@ import org.bson.codecs.configuration.CodecRegistry; import reactor.core.publisher.Mono; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -36,7 +37,6 @@ import org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.io.buffer.DataBufferFactory; import org.springframework.core.io.buffer.DefaultDataBufferFactory; @@ -69,7 +69,7 @@ * @author Artsiom Yudovin * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ MongoClient.class, ReactiveMongoTemplate.class }) @ConditionalOnBean(MongoClient.class) @EnableConfigurationProperties(MongoProperties.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoReactiveRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoReactiveRepositoriesAutoConfiguration.java index fb9c481ffea8..923885e01c38 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoReactiveRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoReactiveRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,13 @@ import com.mongodb.reactivestreams.client.MongoClient; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.ConditionalOnRepositoryType; import org.springframework.boot.autoconfigure.data.RepositoryType; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.mongodb.repository.ReactiveMongoRepository; import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories; @@ -49,7 +49,7 @@ * @since 2.0.0 * @see EnableReactiveMongoRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ MongoClient.class, ReactiveMongoRepository.class }) @ConditionalOnMissingBean({ ReactiveMongoRepositoryFactoryBean.class, ReactiveMongoRepositoryConfigurationExtension.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoRepositoriesAutoConfiguration.java index eb0cc5f7e434..e1a0a61e12a5 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,13 @@ import com.mongodb.client.MongoClient; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.ConditionalOnRepositoryType; import org.springframework.boot.autoconfigure.data.RepositoryType; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; @@ -51,7 +51,7 @@ * @since 1.0.0 * @see EnableMongoRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ MongoClient.class, MongoRepository.class }) @ConditionalOnMissingBean({ MongoRepositoryFactoryBean.class, MongoRepositoryConfigurationExtension.class }) @ConditionalOnRepositoryType(store = "mongodb", type = RepositoryType.IMPERATIVE) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java index 1d204ddcb156..273ebe72121b 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import org.neo4j.driver.Driver; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -34,7 +35,6 @@ 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 org.springframework.data.neo4j.core.DatabaseSelectionProvider; import org.springframework.data.neo4j.core.Neo4jClient; import org.springframework.data.neo4j.core.Neo4jOperations; @@ -59,7 +59,7 @@ * @author Michael J. Simons * @since 1.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Driver.class, Neo4jTransactionManager.class, PlatformTransactionManager.class }) @EnableConfigurationProperties(Neo4jDataProperties.class) @ConditionalOnBean(Driver.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveDataAutoConfiguration.java index 38dcf4e5014d..957e2cf41191 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveDataAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,13 +19,13 @@ import org.neo4j.driver.Driver; import reactor.core.publisher.Flux; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.neo4j.core.ReactiveDatabaseSelectionProvider; import org.springframework.data.neo4j.core.ReactiveNeo4jClient; import org.springframework.data.neo4j.core.ReactiveNeo4jOperations; @@ -42,7 +42,7 @@ * @author Stephane Nicoll * @since 2.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Driver.class, ReactiveNeo4jTemplate.class, ReactiveTransactionManager.class, Flux.class }) @ConditionalOnBean(Driver.class) @AutoConfigureAfter(Neo4jDataAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveRepositoriesAutoConfiguration.java index 27cb2ee20094..9957ea6789df 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,13 +19,13 @@ import org.neo4j.driver.Driver; import reactor.core.publisher.Flux; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.ConditionalOnRepositoryType; import org.springframework.boot.autoconfigure.data.RepositoryType; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.neo4j.repository.ReactiveNeo4jRepository; import org.springframework.data.neo4j.repository.config.ReactiveNeo4jRepositoryConfigurationExtension; @@ -39,7 +39,7 @@ * @author Stephane Nicoll * @since 2.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Driver.class, ReactiveNeo4jRepository.class, Flux.class }) @ConditionalOnMissingBean({ ReactiveNeo4jRepositoryFactoryBean.class, ReactiveNeo4jRepositoryConfigurationExtension.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jRepositoriesAutoConfiguration.java index 76977f3e7c16..495bccfe0c27 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,13 @@ import org.neo4j.driver.Driver; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.ConditionalOnRepositoryType; import org.springframework.boot.autoconfigure.data.RepositoryType; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.neo4j.repository.Neo4jRepository; import org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories; @@ -50,7 +50,7 @@ * @since 1.4.0 * @see EnableNeo4jRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Driver.class, Neo4jRepository.class }) @ConditionalOnMissingBean({ Neo4jRepositoryFactoryBean.class, Neo4jRepositoryConfigurationExtension.class }) @ConditionalOnRepositoryType(store = "neo4j", type = RepositoryType.IMPERATIVE) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/r2dbc/R2dbcDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/r2dbc/R2dbcDataAutoConfiguration.java index 01ec48fd5a80..320862290287 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/r2dbc/R2dbcDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/r2dbc/R2dbcDataAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import java.util.List; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -28,7 +29,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate; import org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.convert.CustomConversions; import org.springframework.data.r2dbc.convert.MappingR2dbcConverter; import org.springframework.data.r2dbc.convert.R2dbcConverter; @@ -47,7 +47,7 @@ * @author Oliver Drotbohm * @since 2.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ DatabaseClient.class, R2dbcEntityTemplate.class }) @ConditionalOnSingleCandidate(DatabaseClient.class) @AutoConfigureAfter(R2dbcAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/r2dbc/R2dbcRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/r2dbc/R2dbcRepositoriesAutoConfiguration.java index a4dbba2bbc22..3b181f59dd05 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/r2dbc/R2dbcRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/r2dbc/R2dbcRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,13 @@ import io.r2dbc.spi.ConnectionFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.r2dbc.repository.R2dbcRepository; import org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories; @@ -38,7 +38,7 @@ * @since 2.3.0 * @see EnableR2dbcRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ ConnectionFactory.class, R2dbcRepository.class }) @ConditionalOnBean(DatabaseClient.class) @ConditionalOnProperty(prefix = "spring.data.r2dbc.repositories", name = "enabled", havingValue = "true", diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.java index b6d72867fea3..f4987700d6af 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,13 +16,13 @@ package org.springframework.boot.autoconfigure.data.redis; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisOperations; @@ -43,7 +43,7 @@ * @author Mark Paluch * @since 1.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(RedisOperations.class) @EnableConfigurationProperties(RedisProperties.class) @Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java index 92662cd83b5f..3126cfd667e5 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,13 @@ import reactor.core.publisher.Flux; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ResourceLoader; import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; import org.springframework.data.redis.core.ReactiveRedisTemplate; @@ -40,7 +40,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ ReactiveRedisConnectionFactory.class, ReactiveRedisTemplate.class, Flux.class }) @AutoConfigureAfter(RedisAutoConfiguration.class) public class RedisReactiveAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisRepositoriesAutoConfiguration.java index f106ac7f204c..2967182e9b09 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisRepositoriesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,13 +16,13 @@ package org.springframework.boot.autoconfigure.data.redis; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.repository.configuration.EnableRedisRepositories; @@ -37,7 +37,7 @@ * @since 1.4.0 * @see EnableRedisRepositories */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(EnableRedisRepositories.class) @ConditionalOnBean(RedisConnectionFactory.class) @ConditionalOnProperty(prefix = "spring.data.redis.repositories", name = "enabled", havingValue = "true", diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java index 0b3d3483c724..eae815d4cb7e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ package org.springframework.boot.autoconfigure.data.rest; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -27,7 +28,6 @@ import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.rest.core.config.RepositoryRestConfiguration; import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration; @@ -48,7 +48,7 @@ * @author Andy Wilkinson * @since 1.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnMissingBean(RepositoryRestMvcConfiguration.class) @ConditionalOnClass(RepositoryRestMvcConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/web/SpringDataWebAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/web/SpringDataWebAutoConfiguration.java index 1152f04fd073..d5771c15e739 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/web/SpringDataWebAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/web/SpringDataWebAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.springframework.boot.autoconfigure.data.web; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -26,7 +27,6 @@ import org.springframework.boot.autoconfigure.data.web.SpringDataWebProperties.Pageable; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.domain.PageRequest; import org.springframework.data.web.PageableHandlerMethodArgumentResolver; import org.springframework.data.web.config.EnableSpringDataWebSupport; @@ -45,7 +45,7 @@ * @author Vedran Pavic * @since 1.2.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @EnableSpringDataWebSupport @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass({ PageableHandlerMethodArgumentResolver.class, WebMvcConfigurer.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/ElasticsearchRestClientAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/ElasticsearchRestClientAutoConfiguration.java index 6064f0f33279..d495db352f4d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/ElasticsearchRestClientAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/ElasticsearchRestClientAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,13 @@ import org.elasticsearch.client.RestClientBuilder; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientConfigurations.RestClientBuilderConfiguration; import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientConfigurations.RestClientSnifferConfiguration; import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientConfigurations.RestHighLevelClientConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** @@ -35,7 +35,7 @@ * @since 2.1.0 */ @SuppressWarnings("deprecation") -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(RestClientBuilder.class) @EnableConfigurationProperties({ ElasticsearchProperties.class, ElasticsearchRestClientProperties.class, DeprecatedElasticsearchRestClientProperties.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java index c5db0108df1b..e8db1f86e3db 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java @@ -36,6 +36,7 @@ import org.flywaydb.database.sqlserver.SQLServerConfigurationExtension; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.AnyNestedCondition; @@ -55,7 +56,6 @@ import org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.convert.TypeDescriptor; import org.springframework.core.convert.converter.GenericConverter; @@ -84,7 +84,7 @@ * @author Chris Bono * @since 1.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Flyway.class) @Conditional(FlywayDataSourceCondition.class) @ConditionalOnProperty(prefix = "spring.flyway", name = "enabled", matchIfMissing = true) @@ -104,7 +104,7 @@ public FlywaySchemaManagementProvider flywayDefaultDdlModeProvider(ObjectProvide return new FlywaySchemaManagementProvider(flyways); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(JdbcUtils.class) @ConditionalOnMissingBean(Flyway.class) @EnableConfigurationProperties(FlywayProperties.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerAutoConfiguration.java index ff3980883a6e..1cd7eb15f641 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,12 +22,12 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.template.TemplateLocation; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.ui.freemarker.FreeMarkerConfigurationFactory; @@ -39,7 +39,7 @@ * @author Kazuki Shimizu * @since 1.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ freemarker.template.Configuration.class, FreeMarkerConfigurationFactory.class }) @EnableConfigurationProperties(FreeMarkerProperties.class) @Import({ FreeMarkerServletWebConfiguration.class, FreeMarkerReactiveWebConfiguration.class, diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.java index d91b0bd14cc4..d2348a4d22f4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.java @@ -31,12 +31,12 @@ import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.io.Resource; import org.springframework.core.io.support.ResourcePatternResolver; import org.springframework.format.support.DefaultFormattingConversionService; @@ -57,7 +57,7 @@ * @author Brian Clozel * @since 2.7.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ GraphQL.class, GraphQlSource.class }) @EnableConfigurationProperties(GraphQlProperties.class) public class GraphQlAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQueryByExampleAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQueryByExampleAutoConfiguration.java index 06589bf2b019..83bd8ae411b4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQueryByExampleAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQueryByExampleAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import graphql.GraphQL; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -28,7 +29,6 @@ import org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration; import org.springframework.boot.autoconfigure.graphql.GraphQlSourceBuilderCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.repository.query.QueryByExampleExecutor; import org.springframework.data.repository.query.ReactiveQueryByExampleExecutor; import org.springframework.graphql.data.query.QueryByExampleDataFetcher; @@ -44,7 +44,7 @@ * @since 2.7.0 * @see QueryByExampleDataFetcher#autoRegistrationConfigurer(List, List) */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ GraphQL.class, QueryByExampleDataFetcher.class, QueryByExampleExecutor.class }) @ConditionalOnBean(GraphQlSource.class) @AutoConfigureAfter(GraphQlAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfiguration.java index 2a4d2334bf05..c7c16920d694 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import graphql.GraphQL; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -28,7 +29,6 @@ import org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration; import org.springframework.boot.autoconfigure.graphql.GraphQlSourceBuilderCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.querydsl.ReactiveQuerydslPredicateExecutor; import org.springframework.graphql.data.query.QuerydslDataFetcher; @@ -45,7 +45,7 @@ * @since 2.7.0 * @see QuerydslDataFetcher#autoRegistrationConfigurer(List, List) */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ GraphQL.class, QuerydslDataFetcher.class, QuerydslPredicateExecutor.class }) @ConditionalOnBean(GraphQlSource.class) @AutoConfigureAfter(GraphQlAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQueryByExampleAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQueryByExampleAutoConfiguration.java index 0ba4717596d4..b716e62c4760 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQueryByExampleAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQueryByExampleAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import graphql.GraphQL; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -28,7 +29,6 @@ import org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration; import org.springframework.boot.autoconfigure.graphql.GraphQlSourceBuilderCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.repository.query.QueryByExampleExecutor; import org.springframework.data.repository.query.ReactiveQueryByExampleExecutor; import org.springframework.graphql.data.query.QueryByExampleDataFetcher; @@ -44,7 +44,7 @@ * @since 2.7.0 * @see QueryByExampleDataFetcher#autoRegistrationConfigurer(List, List) */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ GraphQL.class, QueryByExampleDataFetcher.class, ReactiveQueryByExampleExecutor.class }) @ConditionalOnBean(GraphQlSource.class) @AutoConfigureAfter(GraphQlAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java index de35a5521056..f73019b54982 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import graphql.GraphQL; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -28,7 +29,6 @@ import org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration; import org.springframework.boot.autoconfigure.graphql.GraphQlSourceBuilderCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.querydsl.ReactiveQuerydslPredicateExecutor; import org.springframework.graphql.data.query.QuerydslDataFetcher; @@ -45,7 +45,7 @@ * @since 2.7.0 * @see QuerydslDataFetcher#autoRegistrationConfigurer(List, List) */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ GraphQL.class, QuerydslDataFetcher.class, ReactiveQuerydslPredicateExecutor.class }) @ConditionalOnBean(GraphQlSource.class) @AutoConfigureAfter(GraphQlAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/reactive/GraphQlWebFluxAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/reactive/GraphQlWebFluxAutoConfiguration.java index 8dd1763754e4..3efd75a3cab8 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/reactive/GraphQlWebFluxAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/reactive/GraphQlWebFluxAutoConfiguration.java @@ -25,6 +25,7 @@ import reactor.core.publisher.Mono; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -37,7 +38,6 @@ import org.springframework.boot.autoconfigure.graphql.GraphQlProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ResourceLoader; import org.springframework.core.log.LogMessage; import org.springframework.graphql.GraphQlService; @@ -75,7 +75,7 @@ * @author Brian Clozel * @since 2.7.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnClass({ GraphQL.class, GraphQlHttpHandler.class }) @ConditionalOnBean(GraphQlService.class) @@ -129,7 +129,7 @@ private void onlyAllowPost(HttpHeaders headers) { headers.setAllow(Collections.singleton(HttpMethod.POST)); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration public static class GraphQlEndpointCorsConfiguration implements WebFluxConfigurer { final GraphQlProperties graphQlProperties; @@ -151,7 +151,7 @@ public void addCorsMappings(CorsRegistry registry) { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnProperty(prefix = "spring.graphql.websocket", name = "path") public static class WebSocketConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebFluxSecurityAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebFluxSecurityAutoConfiguration.java index 6773857e70f8..6d4b9e633ca2 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebFluxSecurityAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebFluxSecurityAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2020-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import graphql.GraphQL; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -26,7 +27,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.graphql.reactive.GraphQlWebFluxAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.graphql.security.ReactiveSecurityDataFetcherExceptionResolver; import org.springframework.graphql.web.webflux.GraphQlHttpHandler; import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; @@ -38,7 +38,7 @@ * @author Brian Clozel * @since 2.7.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnClass({ GraphQL.class, GraphQlHttpHandler.class, EnableWebFluxSecurity.class }) @ConditionalOnBean(GraphQlHttpHandler.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebMvcSecurityAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebMvcSecurityAutoConfiguration.java index bff7bfc7d893..5371fc8ab46a 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebMvcSecurityAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebMvcSecurityAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2020-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import graphql.GraphQL; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -26,7 +27,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.graphql.servlet.GraphQlWebMvcAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.graphql.security.SecurityContextThreadLocalAccessor; import org.springframework.graphql.security.SecurityDataFetcherExceptionResolver; import org.springframework.graphql.web.webmvc.GraphQlHttpHandler; @@ -39,7 +39,7 @@ * @author Brian Clozel * @since 2.7.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) @ConditionalOnClass({ GraphQL.class, GraphQlHttpHandler.class, EnableWebSecurity.class }) @ConditionalOnBean(GraphQlHttpHandler.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.java index f68796ca0fe5..b386d6985d6a 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.java @@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -40,7 +41,6 @@ import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ResourceLoader; import org.springframework.core.log.LogMessage; import org.springframework.graphql.GraphQlService; @@ -79,7 +79,7 @@ * @author Brian Clozel * @since 2.7.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) @ConditionalOnClass({ GraphQL.class, GraphQlHttpHandler.class }) @ConditionalOnBean(GraphQlService.class) @@ -133,7 +133,7 @@ private void onlyAllowPost(HttpHeaders headers) { headers.setAllow(Collections.singleton(HttpMethod.POST)); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration public static class GraphQlEndpointCorsConfiguration implements WebMvcConfigurer { final GraphQlProperties graphQlProperties; @@ -155,7 +155,7 @@ public void addCorsMappings(CorsRegistry registry) { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass({ ServerContainer.class, WebSocketHandler.class }) @ConditionalOnProperty(prefix = "spring.graphql.websocket", name = "path") public static class WebSocketConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java index ec50ca39997f..5996090ef5f5 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,6 +26,7 @@ import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -38,7 +39,6 @@ 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 org.springframework.context.i18n.LocaleContextHolder; import org.springframework.core.log.LogMessage; import org.springframework.web.servlet.view.UrlBasedViewResolver; @@ -57,7 +57,7 @@ * @author Brian Clozel * @since 1.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(MarkupTemplateEngine.class) @AutoConfigureAfter(WebMvcAutoConfiguration.class) @EnableConfigurationProperties(GroovyTemplateProperties.class) @@ -65,7 +65,7 @@ public class GroovyTemplateAutoConfiguration { private static final Log logger = LogFactory.getLog(GroovyTemplateAutoConfiguration.class); - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(GroovyMarkupConfigurer.class) public static class GroovyMarkupConfiguration { @@ -122,7 +122,7 @@ public GroovyMarkupConfigurer groovyMarkupConfigurer(ObjectProvider bu .createMongoClient(settings); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnMissingBean(MongoClientSettings.class) static class MongoClientSettingsConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoReactiveAutoConfiguration.java index ed01c9941a40..94a29059b52b 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoReactiveAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,12 +29,12 @@ import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.core.env.Environment; @@ -47,7 +47,7 @@ * @author Scott Frederick * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ MongoClient.class, Flux.class }) @EnableConfigurationProperties(MongoProperties.class) public class MongoReactiveAutoConfiguration { @@ -61,7 +61,7 @@ public MongoClient reactiveStreamsMongoClient( return factory.createMongoClient(settings); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnMissingBean(MongoClientSettings.class) static class MongoClientSettingsConfiguration { @@ -78,7 +78,7 @@ MongoPropertiesClientSettingsBuilderCustomizer mongoPropertiesCustomizer(MongoPr } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass({ SocketChannel.class, NioEventLoopGroup.class }) static class NettyDriverConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfiguration.java index f0549d75d0c4..0b094e1fa811 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfiguration.java @@ -50,6 +50,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -64,7 +65,6 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.env.MapPropertySource; import org.springframework.core.env.MutablePropertySources; @@ -85,7 +85,7 @@ * @author Chris Bono * @since 1.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @EnableConfigurationProperties({ MongoProperties.class, EmbeddedMongoProperties.class }) @AutoConfigureBefore(MongoAutoConfiguration.class) @ConditionalOnClass({ MongoClientSettings.class, MongodStarter.class }) @@ -195,7 +195,7 @@ private Map getMongoPorts(MutablePropertySources sources) { return (Map) propertySource.getSource(); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(Logger.class) @ConditionalOnMissingBean(RuntimeConfig.class) static class RuntimeConfigConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mustache/MustacheAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mustache/MustacheAutoConfiguration.java index 733df66a6a47..7d47914aca0c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mustache/MustacheAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mustache/MustacheAutoConfiguration.java @@ -21,6 +21,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -28,7 +29,6 @@ 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 org.springframework.context.annotation.Import; /** @@ -38,7 +38,7 @@ * @author Brian Clozel * @since 1.2.2 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Mustache.class) @EnableConfigurationProperties(MustacheProperties.class) @Import({ MustacheServletWebConfiguration.class, MustacheReactiveWebConfiguration.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/neo4j/Neo4jAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/neo4j/Neo4jAutoConfiguration.java index 473d6d0c8443..e92277f54216 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/neo4j/Neo4jAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/neo4j/Neo4jAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,6 +34,7 @@ import org.neo4j.driver.internal.Scheme; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -42,7 +43,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.source.InvalidConfigurationPropertyValueException; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.util.StringUtils; @@ -53,7 +53,7 @@ * @author Stephane Nicoll * @since 2.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(Driver.class) @EnableConfigurationProperties(Neo4jProperties.class) public class Neo4jAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/netty/NettyAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/netty/NettyAutoConfiguration.java index c4c82989025b..5f172d689fed 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/netty/NettyAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/netty/NettyAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,10 +19,10 @@ import io.netty.util.NettyRuntime; import io.netty.util.ResourceLeakDetector; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for Netty. @@ -30,7 +30,7 @@ * @author Brian Clozel * @since 2.5.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(NettyRuntime.class) @EnableConfigurationProperties(NettyProperties.class) public class NettyAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java index d6532819e1b8..3e34e54246a0 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,12 +20,12 @@ import org.hibernate.engine.spi.SessionImplementor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; @@ -38,7 +38,7 @@ * @author Andy Wilkinson * @since 1.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ LocalContainerEntityManagerFactoryBean.class, EntityManager.class, SessionImplementor.class }) @EnableConfigurationProperties(JpaProperties.class) @AutoConfigureAfter({ DataSourceAutoConfiguration.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java index 48725001efde..51651a342949 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,7 @@ import org.quartz.Trigger; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -43,7 +44,6 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.annotation.Order; import org.springframework.scheduling.quartz.SchedulerFactoryBean; @@ -57,7 +57,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Scheduler.class, SchedulerFactoryBean.class, PlatformTransactionManager.class }) @EnableConfigurationProperties(QuartzProperties.class) @AutoConfigureAfter({ DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class, @@ -96,7 +96,7 @@ private Properties asProperties(Map source) { return properties; } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnSingleCandidate(DataSource.class) @ConditionalOnProperty(prefix = "spring.quartz", name = "job-store-type", havingValue = "jdbc") @Import(DatabaseInitializationDependencyConfigurer.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/r2dbc/R2dbcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/r2dbc/R2dbcAutoConfiguration.java index 0074af46d1fb..cc2033233176 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/r2dbc/R2dbcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/r2dbc/R2dbcAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import io.r2dbc.spi.ConnectionFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -25,7 +26,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** @@ -35,7 +35,7 @@ * @author Stephane Nicoll * @since 2.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(ConnectionFactory.class) @ConditionalOnResource(resources = "classpath:META-INF/services/io.r2dbc.spi.ConnectionFactoryProvider") @AutoConfigureBefore({ DataSourceAutoConfiguration.class, SqlInitializationAutoConfiguration.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/r2dbc/R2dbcTransactionManagerAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/r2dbc/R2dbcTransactionManagerAutoConfiguration.java index 3b963f2bd0ed..bac6fce10425 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/r2dbc/R2dbcTransactionManagerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/r2dbc/R2dbcTransactionManagerAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import io.r2dbc.spi.ConnectionFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -26,7 +27,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate; import org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.r2dbc.connection.R2dbcTransactionManager; import org.springframework.transaction.ReactiveTransactionManager; @@ -37,7 +37,7 @@ * @author Mark Paluch * @since 2.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ R2dbcTransactionManager.class, ReactiveTransactionManager.class }) @ConditionalOnSingleCandidate(ConnectionFactory.class) @AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketMessagingAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketMessagingAutoConfiguration.java index d8520580a711..14b10515e7c7 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketMessagingAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketMessagingAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,12 +19,12 @@ import io.rsocket.transport.netty.server.TcpServerTransport; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.messaging.rsocket.RSocketRequester; import org.springframework.messaging.rsocket.RSocketStrategies; import org.springframework.messaging.rsocket.annotation.support.RSocketMessageHandler; @@ -36,7 +36,7 @@ * @author Brian Clozel * @since 2.2.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ RSocketRequester.class, io.rsocket.RSocket.class, TcpServerTransport.class }) @AutoConfigureAfter(RSocketStrategiesAutoConfiguration.class) public class RSocketMessagingAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketRequesterAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketRequesterAutoConfiguration.java index f9987d9f8b80..306a8420f3a1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketRequesterAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketRequesterAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,12 +20,12 @@ import reactor.netty.http.server.HttpServer; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import org.springframework.messaging.rsocket.RSocketConnectorConfigurer; import org.springframework.messaging.rsocket.RSocketRequester; @@ -42,7 +42,7 @@ * @author Brian Clozel * @since 2.2.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ RSocketRequester.class, io.rsocket.RSocket.class, HttpServer.class, TcpServerTransport.class }) @AutoConfigureAfter(RSocketStrategiesAutoConfiguration.class) public class RSocketRequesterAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java index 1dd595f7639d..4da00bb1520e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import reactor.netty.http.server.HttpServer; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.AllNestedConditions; @@ -40,7 +41,6 @@ import org.springframework.boot.rsocket.server.RSocketServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.core.io.buffer.NettyDataBufferFactory; import org.springframework.http.client.reactive.ReactorResourceFactory; import org.springframework.messaging.rsocket.RSocketStrategies; @@ -56,7 +56,7 @@ * @author Brian Clozel * @since 2.2.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ RSocketServer.class, RSocketStrategies.class, HttpServer.class, TcpServerTransport.class }) @ConditionalOnBean(RSocketMessageHandler.class) @AutoConfigureAfter(RSocketStrategiesAutoConfiguration.class) @@ -64,7 +64,7 @@ public class RSocketServerAutoConfiguration { @Conditional(OnRSocketWebServerCondition.class) - @Configuration(proxyBeanMethods = false) + @AutoConfiguration static class WebFluxServerConfiguration { @Bean @@ -79,7 +79,7 @@ RSocketWebSocketNettyRouteProvider rSocketWebsocketRouteProvider(RSocketProperti @ConditionalOnProperty(prefix = "spring.rsocket.server", name = "port") @ConditionalOnClass(ReactorResourceFactory.class) - @Configuration(proxyBeanMethods = false) + @AutoConfiguration static class EmbeddedServerConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java index e59466b08283..e4c244723bc8 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import io.netty.buffer.PooledByteBufAllocator; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.boot.rsocket.messaging.RSocketStrategiesCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.http.MediaType; import org.springframework.http.codec.cbor.Jackson2CborDecoder; @@ -47,7 +47,7 @@ * @author Brian Clozel * @since 2.2.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ io.rsocket.RSocket.class, RSocketStrategies.class, PooledByteBufAllocator.class }) @AutoConfigureAfter(JacksonAutoConfiguration.class) public class RSocketStrategiesAutoConfiguration { @@ -65,7 +65,7 @@ public RSocketStrategies rSocketStrategies(ObjectProvider resourceUrlEncodingFilter() { return registration; } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration static class ThymeleafViewResolverConfiguration { @Bean @@ -199,7 +199,7 @@ private String appendCharset(MimeType type, String charset) { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true) static class ThymeleafReactiveConfiguration { @@ -218,7 +218,7 @@ SpringWebFluxTemplateEngine templateEngine(ThymeleafProperties properties, } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true) static class ThymeleafWebFluxConfiguration { @@ -255,7 +255,7 @@ private void mapReactiveProperties(Reactive properties, ThymeleafReactiveViewRes } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(LayoutDialect.class) static class ThymeleafWebLayoutConfiguration { @@ -267,7 +267,7 @@ LayoutDialect layoutDialect() { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(DataAttributeDialect.class) static class DataAttributeDialectConfiguration { @@ -279,7 +279,7 @@ DataAttributeDialect dialect() { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass({ SpringSecurityDialect.class, CsrfToken.class }) static class ThymeleafSecurityDialectConfiguration { @@ -291,7 +291,7 @@ SpringSecurityDialect securityDialect() { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(Java8TimeDialect.class) static class ThymeleafJava8TimeDialect { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java index 483cc1253bc2..1ecb3562799c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -31,7 +32,6 @@ import org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.ReactiveTransactionManager; import org.springframework.transaction.TransactionManager; @@ -48,7 +48,7 @@ * @author Stephane Nicoll * @since 1.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(PlatformTransactionManager.class) @AutoConfigureAfter({ JtaAutoConfiguration.class, HibernateJpaAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, Neo4jDataAutoConfiguration.class }) @@ -69,7 +69,7 @@ public TransactionalOperator transactionalOperator(ReactiveTransactionManager tr return TransactionalOperator.create(transactionManager); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnSingleCandidate(PlatformTransactionManager.class) public static class TransactionTemplateConfiguration { @@ -81,19 +81,19 @@ public TransactionTemplate transactionTemplate(PlatformTransactionManager transa } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnBean(TransactionManager.class) @ConditionalOnMissingBean(AbstractTransactionManagementConfiguration.class) public static class EnableTransactionManagementConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableTransactionManagement(proxyTargetClass = false) @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "false") public static class JdkDynamicAutoProxyConfiguration { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableTransactionManagement(proxyTargetClass = true) @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "true", matchIfMissing = true) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfiguration.java index f4d62b49318b..853a38233fae 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/jta/JtaAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.springframework.boot.autoconfigure.transaction.jta; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -24,7 +25,6 @@ import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration; import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** @@ -35,7 +35,7 @@ * @author Nishant Raut * @since 1.2.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(javax.transaction.Transaction.class) @ConditionalOnProperty(prefix = "spring.jta", value = "enabled", matchIfMissing = true) @AutoConfigureBefore({ XADataSourceAutoConfiguration.class, ActiveMQAutoConfiguration.class, diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java index 034170ca7dc6..4512ce1e890b 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -31,7 +32,6 @@ import org.springframework.boot.validation.beanvalidation.MethodValidationExcludeFilter; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Role; @@ -47,7 +47,7 @@ * @author Madhura Bhave * @since 1.5.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(ExecutableValidator.class) @ConditionalOnResource(resources = "classpath:META-INF/services/javax.validation.spi.ValidationProvider") @Import(PrimaryDefaultValidatorPostProcessor.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.java index 970f600c27d3..649cf8f5ba32 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -34,7 +35,6 @@ import org.springframework.boot.web.client.RestTemplateRequestCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; import org.springframework.web.client.RestTemplate; @@ -45,7 +45,7 @@ * @author Phillip Webb * @since 1.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureAfter(HttpMessageConvertersAutoConfiguration.class) @ConditionalOnClass(RestTemplate.class) @Conditional(NotReactiveWebApplicationCondition.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration.java index 6f6c0f83db48..e2934e93bad1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,13 +25,13 @@ import org.xnio.SslClientAuthMode; import reactor.netty.http.server.HttpServer; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; /** @@ -41,7 +41,7 @@ * @author Phillip Webb * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication @EnableConfigurationProperties(ServerProperties.class) public class EmbeddedWebServerFactoryCustomizerAutoConfiguration { @@ -49,7 +49,7 @@ public class EmbeddedWebServerFactoryCustomizerAutoConfiguration { /** * Nested configuration if Tomcat is being used. */ - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass({ Tomcat.class, UpgradeProtocol.class }) public static class TomcatWebServerFactoryCustomizerConfiguration { @@ -64,7 +64,7 @@ public TomcatWebServerFactoryCustomizer tomcatWebServerFactoryCustomizer(Environ /** * Nested configuration if Jetty is being used. */ - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass({ Server.class, Loader.class, WebAppContext.class }) public static class JettyWebServerFactoryCustomizerConfiguration { @@ -79,7 +79,7 @@ public JettyWebServerFactoryCustomizer jettyWebServerFactoryCustomizer(Environme /** * Nested configuration if Undertow is being used. */ - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass({ Undertow.class, SslClientAuthMode.class }) public static class UndertowWebServerFactoryCustomizerConfiguration { @@ -94,7 +94,7 @@ public UndertowWebServerFactoryCustomizer undertowWebServerFactoryCustomizer(Env /** * Nested configuration if Netty is being used. */ - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(HttpServer.class) public static class NettyWebServerFactoryCustomizerConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/HttpHandlerAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/HttpHandlerAutoConfiguration.java index 8048c833b44f..a49d7974e17c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/HttpHandlerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/HttpHandlerAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import java.util.Map; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -28,7 +29,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.http.server.reactive.ContextPathCompositeHandler; import org.springframework.http.server.reactive.HttpHandler; @@ -43,7 +43,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ DispatcherHandler.class, HttpHandler.class }) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnMissingBean(HttpHandler.class) @@ -51,7 +51,7 @@ @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10) public class HttpHandlerAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration public static class AnnotationConfig { private final ApplicationContext applicationContext; diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/ReactiveMultipartAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/ReactiveMultipartAutoConfiguration.java index dd3bd1e874c7..c38bb82209cf 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/ReactiveMultipartAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/ReactiveMultipartAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import java.nio.file.Path; import java.nio.file.Paths; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; @@ -28,7 +29,6 @@ import org.springframework.boot.context.properties.PropertyMapper; import org.springframework.boot.web.codec.CodecCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.http.codec.multipart.DefaultPartHttpMessageReader; import org.springframework.util.unit.DataSize; @@ -42,7 +42,7 @@ * @author Brian Clozel * @since 2.6.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ DefaultPartHttpMessageReader.class, WebFluxConfigurer.class }) @ConditionalOnWebApplication(type = Type.REACTIVE) @EnableConfigurationProperties(ReactiveMultipartProperties.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/ReactiveWebServerFactoryAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/ReactiveWebServerFactoryAutoConfiguration.java index 6515daa6691b..8b560d7c998f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/ReactiveWebServerFactoryAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/ReactiveWebServerFactoryAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.RootBeanDefinition; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -34,7 +35,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.web.server.WebServerFactoryCustomizerBeanPostProcessor; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.ImportBeanDefinitionRegistrar; import org.springframework.core.Ordered; @@ -50,7 +50,7 @@ * @since 2.0.0 */ @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(ReactiveHttpInputMessage.class) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @EnableConfigurationProperties(ServerProperties.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java index b8df080f2443..6134d51148ab 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -48,7 +49,6 @@ import org.springframework.boot.web.reactive.filter.OrderedHiddenHttpMethodFilter; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; @@ -97,7 +97,7 @@ * @author Weix Sun * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnClass(WebFluxConfigurer.class) @ConditionalOnMissingBean({ WebFluxConfigurationSupport.class }) @@ -114,7 +114,7 @@ public OrderedHiddenHttpMethodFilter hiddenHttpMethodFilter() { return new OrderedHiddenHttpMethodFilter(); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration public static class WelcomePageConfiguration { @Bean @@ -135,7 +135,7 @@ public RouterFunctionMapping welcomePageRouterFunctionMapping(ApplicationContext } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableConfigurationProperties({ WebProperties.class, WebFluxProperties.class }) @Import({ EnableWebFluxConfiguration.class }) @Order(0) @@ -234,7 +234,7 @@ private void customizeResourceHandlerRegistration(ResourceHandlerRegistration re /** * Configuration equivalent to {@code @EnableWebFlux}. */ - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableConfigurationProperties({ WebProperties.class, ServerProperties.class }) public static class EnableWebFluxConfiguration extends DelegatingWebFluxConfiguration { @@ -319,7 +319,7 @@ public WebSessionManager webSessionManager(ObjectProvider } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnEnabledResourceChain static class ResourceChainCustomizerConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebSessionIdResolverAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebSessionIdResolverAutoConfiguration.java index adf1b6f416bf..1ea915c4ce45 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebSessionIdResolverAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebSessionIdResolverAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ import reactor.core.publisher.Mono; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.web.ServerProperties; @@ -26,7 +27,6 @@ import org.springframework.boot.context.properties.source.MutuallyExclusiveConfigurationPropertiesException; import org.springframework.boot.web.server.Cookie; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.http.ResponseCookie.ResponseCookieBuilder; import org.springframework.util.StringUtils; import org.springframework.web.server.session.CookieWebSessionIdResolver; @@ -41,7 +41,7 @@ * @author Weix Sun * @since 2.6.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ WebSessionManager.class, Mono.class }) @EnableConfigurationProperties({ WebFluxProperties.class, ServerProperties.class }) public class WebSessionIdResolverAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/ErrorWebFluxAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/ErrorWebFluxAutoConfiguration.java index ba73d7f074af..84be43c038ab 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/ErrorWebFluxAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/ErrorWebFluxAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -34,7 +35,6 @@ import org.springframework.boot.web.reactive.error.ErrorWebExceptionHandler; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.http.codec.ServerCodecConfigurer; import org.springframework.web.reactive.config.WebFluxConfigurer; @@ -48,7 +48,7 @@ * @author Scott Frederick * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnClass(WebFluxConfigurer.class) @AutoConfigureBefore(WebFluxAutoConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/ClientHttpConnectorAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/ClientHttpConnectorAutoConfiguration.java index 5da7cd7d80cd..1a7dde8b92a0 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/ClientHttpConnectorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/ClientHttpConnectorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,12 +16,12 @@ package org.springframework.boot.autoconfigure.web.reactive.function.client; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.web.reactive.function.client.WebClientCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Lazy; import org.springframework.core.annotation.Order; @@ -38,7 +38,7 @@ * @author Brian Clozel * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(WebClient.class) @Import({ ClientHttpConnectorConfiguration.ReactorNetty.class, ClientHttpConnectorConfiguration.JettyClient.class, ClientHttpConnectorConfiguration.HttpClient5.class }) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java index a9b5b0dd145e..7b58f5bdeaef 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -28,7 +29,6 @@ import org.springframework.boot.web.codec.CodecCustomizer; import org.springframework.boot.web.reactive.function.client.WebClientCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import org.springframework.core.annotation.Order; import org.springframework.web.reactive.function.client.WebClient; @@ -44,7 +44,7 @@ * @author Brian Clozel * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(WebClient.class) @AutoConfigureAfter({ CodecsAutoConfiguration.class, ClientHttpConnectorAutoConfiguration.class }) public class WebClientAutoConfiguration { @@ -58,7 +58,7 @@ public WebClient.Builder webClientBuilder(ObjectProvider cu return builder; } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnBean(CodecCustomizer.class) protected static class WebClientCodecsConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java index 721cbb9f1353..7ba37cd998ad 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -42,7 +43,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; @@ -63,7 +63,7 @@ * @since 2.0.0 */ @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass(DispatcherServlet.class) @AutoConfigureAfter(ServletWebServerFactoryAutoConfiguration.class) @@ -79,7 +79,7 @@ public class DispatcherServletAutoConfiguration { */ public static final String DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME = "dispatcherServletRegistration"; - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @Conditional(DefaultDispatcherServletCondition.class) @ConditionalOnClass(ServletRegistration.class) @EnableConfigurationProperties(WebMvcProperties.class) @@ -106,7 +106,7 @@ public MultipartResolver multipartResolver(MultipartResolver resolver) { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @Conditional(DispatcherServletRegistrationCondition.class) @ConditionalOnClass(ServletRegistration.class) @EnableConfigurationProperties(WebMvcProperties.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.java index 2c9b3aef02a7..e443d1943c15 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.springframework.boot.autoconfigure.web.servlet; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -28,7 +29,6 @@ import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory; import org.springframework.boot.web.servlet.server.Encoding; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.web.filter.CharacterEncodingFilter; @@ -40,7 +40,7 @@ * @author Brian Clozel * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @EnableConfigurationProperties(ServerProperties.class) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) @ConditionalOnClass(CharacterEncodingFilter.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/MultipartAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/MultipartAutoConfiguration.java index 6cc7464821da..2e2415c7e671 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/MultipartAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/MultipartAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import javax.servlet.MultipartConfigElement; import javax.servlet.Servlet; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -28,7 +29,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.web.multipart.MultipartResolver; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import org.springframework.web.multipart.support.StandardServletMultipartResolver; @@ -49,7 +49,7 @@ * @author Toshiaki Maki * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Servlet.class, StandardServletMultipartResolver.class, MultipartConfigElement.class }) @ConditionalOnProperty(prefix = "spring.servlet.multipart", name = "enabled", matchIfMissing = true) @ConditionalOnWebApplication(type = Type.SERVLET) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.java index 8d38dc1c93f0..8ba55866e554 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,6 +29,7 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.RootBeanDefinition; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -43,7 +44,6 @@ import org.springframework.boot.web.servlet.WebListenerRegistrar; import org.springframework.boot.web.servlet.server.CookieSameSiteSupplier; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.ImportBeanDefinitionRegistrar; import org.springframework.core.Ordered; @@ -61,7 +61,7 @@ * @author Stephane Nicoll * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @ConditionalOnClass(ServletRequest.class) @ConditionalOnWebApplication(type = Type.SERVLET) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java index 114204bf0cd3..8dbdb3a24900 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +33,7 @@ import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -63,7 +64,6 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ResourceLoaderAware; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Primary; import org.springframework.core.Ordered; @@ -139,7 +139,7 @@ * @author Scott Frederick * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass({ Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class }) @ConditionalOnMissingBean(WebMvcConfigurationSupport.class) @@ -182,7 +182,7 @@ public OrderedFormContentFilter formContentFilter() { // Defined as a nested config to ensure WebMvcConfigurer is not read when not // on the classpath @SuppressWarnings("deprecation") - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @Import(EnableWebMvcConfiguration.class) @EnableConfigurationProperties({ WebMvcProperties.class, WebProperties.class }) @Order(0) @@ -383,7 +383,7 @@ public static RequestContextFilter requestContextFilter() { /** * Configuration equivalent to {@code @EnableWebMvc}. */ - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableConfigurationProperties(WebProperties.class) public static class EnableWebMvcConfiguration extends DelegatingWebMvcConfiguration implements ResourceLoaderAware { @@ -601,7 +601,7 @@ public void setResourceLoader(ResourceLoader resourceLoader) { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnEnabledResourceChain static class ResourceChainCustomizerConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java index 07a2699aa8e7..ffc40385a81e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,6 +32,7 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionMessage; @@ -64,7 +65,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.http.MediaType; @@ -84,7 +84,7 @@ * @author Scott Frederick * @since 1.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass({ Servlet.class, DispatcherServlet.class }) // Load before the main WebMvcAutoConfiguration so that the error View is available @@ -122,7 +122,7 @@ public static PreserveErrorControllerTargetClassPostProcessor preserveErrorContr return new PreserveErrorControllerTargetClassPostProcessor(); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableConfigurationProperties({ WebProperties.class, WebMvcProperties.class }) static class DefaultErrorViewResolverConfiguration { @@ -144,7 +144,7 @@ DefaultErrorViewResolver conventionErrorViewResolver() { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnProperty(prefix = "server.error.whitelabel", name = "enabled", matchIfMissing = true) @Conditional(ErrorTemplateMissingCondition.class) protected static class WhitelabelErrorViewConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java index ace1a9ae1af9..8f02598c0297 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,7 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -42,7 +43,6 @@ import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Role; import org.springframework.core.io.Resource; import org.springframework.util.StringUtils; @@ -59,7 +59,7 @@ * @author Stephane Nicoll * @since 1.4.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass(MessageDispatcherServlet.class) @ConditionalOnMissingBean(WsConfigurationSupport.class) @@ -89,7 +89,7 @@ public static WsdlDefinitionBeanFactoryPostProcessor wsdlDefinitionBeanFactoryPo return new WsdlDefinitionBeanFactoryPostProcessor(); } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @EnableWs protected static class WsConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/client/WebServiceTemplateAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/client/WebServiceTemplateAutoConfiguration.java index 42384bfa5723..65f59c7dd21c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/client/WebServiceTemplateAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/client/WebServiceTemplateAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,13 +20,13 @@ import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.webservices.client.WebServiceTemplateBuilder; import org.springframework.boot.webservices.client.WebServiceTemplateCustomizer; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.oxm.Marshaller; import org.springframework.oxm.Unmarshaller; import org.springframework.ws.client.core.WebServiceTemplate; @@ -37,7 +37,7 @@ * @author Dmytro Nosan * @since 2.1.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ WebServiceTemplate.class, Unmarshaller.class, Marshaller.class }) public class WebServiceTemplateAutoConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/reactive/WebSocketReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/reactive/WebSocketReactiveAutoConfiguration.java index f453a14772d8..3c3bbd2406bc 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/reactive/WebSocketReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/reactive/WebSocketReactiveAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import org.apache.catalina.startup.Tomcat; import org.apache.tomcat.websocket.server.WsSci; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * Auto configuration for WebSocket reactive server in Tomcat, Jetty or Undertow. Requires @@ -41,13 +41,13 @@ * @author Brian Clozel * @since 2.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Servlet.class, ServerContainer.class }) @ConditionalOnWebApplication(type = Type.REACTIVE) @AutoConfigureBefore(ReactiveWebServerFactoryAutoConfiguration.class) public class WebSocketReactiveAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass({ Tomcat.class, WsSci.class }) static class TomcatWebSocketConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java index 58a5c0c9c58a..07a3aedad5e4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.boot.LazyInitializationExcludeFilter; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -29,7 +30,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.messaging.converter.ByteArrayMessageConverter; import org.springframework.messaging.converter.DefaultContentTypeResolver; import org.springframework.messaging.converter.MappingJackson2MessageConverter; @@ -46,13 +46,13 @@ * @author Andy Wilkinson * @since 1.3.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass(WebSocketMessageBrokerConfigurer.class) @AutoConfigureAfter(JacksonAutoConfiguration.class) public class WebSocketMessagingAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnBean({ DelegatingWebSocketMessageBrokerConfiguration.class, ObjectMapper.class }) @ConditionalOnClass({ ObjectMapper.class, AbstractMessageBrokerConfiguration.class }) static class WebSocketMessageConverterConfiguration implements WebSocketMessageBrokerConfigurer { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration.java index 70f0d2bf4e62..d6374225e35a 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ import org.apache.tomcat.websocket.server.WsSci; import org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -30,7 +31,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * Auto configuration for WebSocket servlet server in embedded Tomcat, Jetty or Undertow. @@ -53,13 +53,13 @@ * @author Andy Wilkinson * @since 1.0.0 */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass({ Servlet.class, ServerContainer.class }) @ConditionalOnWebApplication(type = Type.SERVLET) @AutoConfigureBefore(ServletWebServerFactoryAutoConfiguration.class) public class WebSocketServletAutoConfiguration { - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass({ Tomcat.class, WsSci.class }) static class TomcatWebSocketConfiguration { @@ -71,7 +71,7 @@ TomcatWebSocketServletWebServerCustomizer websocketServletWebServerCustomizer() } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(WebSocketServerContainerInitializer.class) static class JettyWebSocketConfiguration { @@ -83,7 +83,7 @@ JettyWebSocketServletWebServerCustomizer websocketServletWebServerCustomizer() { } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(name = { Jetty10WebSocketServletWebServerCustomizer.JAVAX_WEB_SOCKET_SERVER_CONTAINER, Jetty10WebSocketServletWebServerCustomizer.JETTY_WEB_SOCKET_SERVER_CONTAINER }) static class Jetty10WebSocketConfiguration { @@ -96,7 +96,7 @@ Jetty10WebSocketServletWebServerCustomizer websocketServletWebServerCustomizer() } - @Configuration(proxyBeanMethods = false) + @AutoConfiguration @ConditionalOnClass(io.undertow.websockets.jsr.Bootstrap.class) static class UndertowWebSocketConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories index aef3e3399fe9..290bdfaa0ffa 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories @@ -21,151 +21,6 @@ org.springframework.boot.autoconfigure.condition.OnBeanCondition,\ org.springframework.boot.autoconfigure.condition.OnClassCondition,\ org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition -# Auto Configure -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,\ -org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\ -org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration,\ -org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration,\ -org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration,\ -org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration,\ -org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration,\ -org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration,\ -org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration,\ -org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration,\ -org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.ldap.LdapRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration,\ -org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration,\ -org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\ -org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.data.GraphQlReactiveQueryByExampleAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.data.GraphQlReactiveQuerydslAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.data.GraphQlQueryByExampleAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.data.GraphQlQuerydslAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.reactive.GraphQlWebFluxAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.servlet.GraphQlWebMvcAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.security.GraphQlWebFluxSecurityAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.security.GraphQlWebMvcSecurityAutoConfiguration,\ -org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,\ -org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration,\ -org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration,\ -org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration,\ -org.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration,\ -org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration,\ -org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration,\ -org.springframework.boot.autoconfigure.influx.InfluxDbAutoConfiguration,\ -org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration,\ -org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration,\ -org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ -org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration,\ -org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration,\ -org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration,\ -org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration,\ -org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration,\ -org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration,\ -org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration,\ -org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration,\ -org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration,\ -org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration,\ -org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration,\ -org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration,\ -org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ -org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration,\ -org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration,\ -org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration,\ -org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration,\ -org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration,\ -org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration,\ -org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration,\ -org.springframework.boot.autoconfigure.netty.NettyAutoConfiguration,\ -org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,\ -org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration,\ -org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration,\ -org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration,\ -org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration,\ -org.springframework.boot.autoconfigure.rsocket.RSocketRequesterAutoConfiguration,\ -org.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration,\ -org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.rsocket.RSocketSecurityAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration,\ -org.springframework.boot.autoconfigure.sendgrid.SendGridAutoConfiguration,\ -org.springframework.boot.autoconfigure.session.SessionAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration,\ -org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration,\ -org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\ -org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration,\ -org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration,\ -org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration,\ -org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration,\ -org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration,\ -org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.ReactiveMultipartAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.WebSessionIdResolverAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration,\ -org.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration,\ -org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration,\ -org.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration,\ -org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration,\ -org.springframework.boot.autoconfigure.webservices.client.WebServiceTemplateAutoConfiguration - # Failure analyzers org.springframework.boot.diagnostics.FailureAnalyzer=\ org.springframework.boot.autoconfigure.data.redis.RedisUrlSyntaxFailureAnalyzer,\ diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration b/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration new file mode 100644 index 000000000000..dc083a001c83 --- /dev/null +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration @@ -0,0 +1,142 @@ +org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration +org.springframework.boot.autoconfigure.aop.AopAutoConfiguration +org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration +org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration +org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration +org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration +org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration +org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration +org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration +org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration +org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration +org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration +org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration +org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration +org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration +org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataAutoConfiguration +org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration +org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfiguration +org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.ldap.LdapRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration +org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration +org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration +org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration +org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration +org.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration +org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration +org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration +org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration +org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration +org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration +org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration +org.springframework.boot.autoconfigure.graphql.data.GraphQlReactiveQueryByExampleAutoConfiguration +org.springframework.boot.autoconfigure.graphql.data.GraphQlReactiveQuerydslAutoConfiguration +org.springframework.boot.autoconfigure.graphql.data.GraphQlQueryByExampleAutoConfiguration +org.springframework.boot.autoconfigure.graphql.data.GraphQlQuerydslAutoConfiguration +org.springframework.boot.autoconfigure.graphql.reactive.GraphQlWebFluxAutoConfiguration +org.springframework.boot.autoconfigure.graphql.servlet.GraphQlWebMvcAutoConfiguration +org.springframework.boot.autoconfigure.graphql.security.GraphQlWebFluxSecurityAutoConfiguration +org.springframework.boot.autoconfigure.graphql.security.GraphQlWebMvcSecurityAutoConfiguration +org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration +org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration +org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration +org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration +org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration +org.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration +org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration +org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration +org.springframework.boot.autoconfigure.influx.InfluxDbAutoConfiguration +org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration +org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration +org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration +org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration +org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration +org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration +org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration +org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration +org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration +org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration +org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration +org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration +org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration +org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration +org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration +org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration +org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration +org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration +org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration +org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration +org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration +org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration +org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration +org.springframework.boot.autoconfigure.netty.NettyAutoConfiguration +org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration +org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration +org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration +org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration +org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration +org.springframework.boot.autoconfigure.rsocket.RSocketRequesterAutoConfiguration +org.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration +org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration +org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration +org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration +org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration +org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration +org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration +org.springframework.boot.autoconfigure.security.rsocket.RSocketSecurityAutoConfiguration +org.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration +org.springframework.boot.autoconfigure.sendgrid.SendGridAutoConfiguration +org.springframework.boot.autoconfigure.session.SessionAutoConfiguration +org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration +org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration +org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration +org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration +org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration +org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration +org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration +org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration +org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration +org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration +org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration +org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration +org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration +org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.ReactiveMultipartAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.WebSessionIdResolverAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration +org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration +org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration +org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration +org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration +org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration +org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration +org.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration +org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration +org.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration +org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration +org.springframework.boot.autoconfigure.webservices.client.WebServiceTemplateAutoConfiguration diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java index 6e4583de109b..d0317c3db18f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,7 +34,6 @@ import org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.DefaultResourceLoader; -import org.springframework.core.io.support.SpringFactoriesLoader; import org.springframework.core.type.AnnotationMetadata; import org.springframework.mock.env.MockEnvironment; @@ -68,8 +67,7 @@ void setup() { @Test void importsAreSelectedWhenUsingEnableAutoConfiguration() { String[] imports = selectImports(BasicEnableAutoConfiguration.class); - assertThat(imports).hasSameSizeAs( - SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class, getClass().getClassLoader())); + assertThat(imports).hasSameSizeAs(getAutoConfigurationClassNames()); assertThat(this.importSelector.getLastEvent().getExclusions()).isEmpty(); } @@ -214,7 +212,7 @@ private String[] selectImports(Class source) { } private List getAutoConfigurationClassNames() { - return SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class, getClass().getClassLoader()); + return new AutoConfigurationLocator().locate(AutoConfiguration.class, getClass().getClassLoader()); } private class TestAutoConfigurationImportSelector extends AutoConfigurationImportSelector { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/context/filtersample/ExampleFilteredAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/context/filtersample/ExampleFilteredAutoConfiguration.java index df76beedc960..34ecc550c620 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/context/filtersample/ExampleFilteredAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/context/filtersample/ExampleFilteredAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,10 +16,10 @@ package org.springframework.boot.autoconfigure.context.filtersample; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -@Configuration(proxyBeanMethods = false) +@AutoConfiguration public class ExampleFilteredAutoConfiguration { @Bean From 377b1a8a0fc29b36cf65a53d59ffc8dc009a3d7b Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 14:23:58 +0100 Subject: [PATCH 09/33] Don't annotate inner classes with @AutoConfiguration --- ...CloudFoundryActuatorAutoConfiguration.java | 3 ++- .../web/WebEndpointAutoConfiguration.java | 3 ++- .../KafkaMetricsAutoConfiguration.java | 3 ++- ...metheusMetricsExportAutoConfiguration.java | 5 +++-- ...ataSourcePoolMetricsAutoConfiguration.java | 5 +++-- .../http/HttpTraceAutoConfiguration.java | 5 +++-- .../MappingsEndpointAutoConfiguration.java | 7 ++++--- .../ManagementContextAutoConfiguration.java | 7 ++++--- ...letManagementContextAutoConfiguration.java | 3 ++- .../amqp/RabbitAutoConfiguration.java | 7 ++++--- .../aop/AopAutoConfiguration.java | 9 ++++---- .../batch/BatchAutoConfiguration.java | 2 +- .../couchbase/CouchbaseAutoConfiguration.java | 3 ++- .../CouchbaseDataAutoConfiguration.java | 3 ++- .../JdbcRepositoriesAutoConfiguration.java | 5 +++-- .../flyway/FlywayAutoConfiguration.java | 3 ++- .../GraphQlWebFluxAutoConfiguration.java | 5 +++-- .../GraphQlWebMvcAutoConfiguration.java | 5 +++-- .../GroovyTemplateAutoConfiguration.java | 5 +++-- .../hateoas/HypermediaAutoConfiguration.java | 3 ++- ...ttpMessageConvertersAutoConfiguration.java | 3 ++- .../http/codec/CodecsAutoConfiguration.java | 5 +++-- .../IntegrationAutoConfiguration.java | 21 ++++++++++--------- .../jackson/JacksonAutoConfiguration.java | 9 ++++---- .../jdbc/DataSourceAutoConfiguration.java | 5 +++-- ...ceTransactionManagerAutoConfiguration.java | 3 ++- .../jersey/JerseyAutoConfiguration.java | 5 +++-- .../jms/JmsAutoConfiguration.java | 5 +++-- .../jooq/JooqAutoConfiguration.java | 3 ++- .../EmbeddedLdapAutoConfiguration.java | 3 ++- .../liquibase/LiquibaseAutoConfiguration.java | 3 ++- .../mongo/MongoAutoConfiguration.java | 3 ++- .../mongo/MongoReactiveAutoConfiguration.java | 5 +++-- .../EmbeddedMongoAutoConfiguration.java | 3 ++- .../quartz/QuartzAutoConfiguration.java | 3 ++- .../RSocketServerAutoConfiguration.java | 5 +++-- .../RSocketStrategiesAutoConfiguration.java | 5 +++-- .../ReactiveSecurityAutoConfiguration.java | 3 ++- .../RSocketSecurityAutoConfiguration.java | 3 ++- .../session/SessionAutoConfiguration.java | 11 +++++----- .../thymeleaf/ThymeleafAutoConfiguration.java | 21 ++++++++++--------- .../TransactionAutoConfiguration.java | 9 ++++---- ...verFactoryCustomizerAutoConfiguration.java | 9 ++++---- .../HttpHandlerAutoConfiguration.java | 3 ++- .../reactive/WebFluxAutoConfiguration.java | 9 ++++---- .../client/WebClientAutoConfiguration.java | 3 ++- .../DispatcherServletAutoConfiguration.java | 5 +++-- .../web/servlet/WebMvcAutoConfiguration.java | 7 ++++--- .../error/ErrorMvcAutoConfiguration.java | 5 +++-- .../WebServicesAutoConfiguration.java | 3 ++- .../WebSocketReactiveAutoConfiguration.java | 3 ++- .../WebSocketMessagingAutoConfiguration.java | 3 ++- .../WebSocketServletAutoConfiguration.java | 9 ++++---- 53 files changed, 169 insertions(+), 117 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java index 7622de98a247..c991a8cac30c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java @@ -58,6 +58,7 @@ import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.core.env.Environment; import org.springframework.http.HttpHeaders; @@ -160,7 +161,7 @@ private CorsConfiguration getCorsConfiguration() { * interceptor. */ @ConditionalOnClass({ WebSecurityCustomizer.class, WebSecurity.class }) - @AutoConfiguration + @Configuration(proxyBeanMethods = false) public static class IgnoredCloudFoundryPathsWebSecurityConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java index fc8073f854f9..d7b9501d4ba2 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java @@ -50,6 +50,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for web {@link Endpoint @Endpoint} @@ -126,7 +127,7 @@ public IncludeExcludeEndpointFilter controllerExpos exposure.getExclude()); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.SERVLET) static class WebEndpointServletConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java index cc83b2d1623c..d7104278e500 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java @@ -30,6 +30,7 @@ import org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration; import org.springframework.boot.autoconfigure.kafka.StreamsBuilderFactoryBeanCustomizer; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.kafka.config.StreamsBuilderFactoryBean; import org.springframework.kafka.core.DefaultKafkaConsumerFactory; import org.springframework.kafka.core.DefaultKafkaProducerFactory; @@ -71,7 +72,7 @@ private void addListener(DefaultKafkaProducerFactory factory, Meter factory.addListener(new MicrometerProducerListener<>(meterRegistry)); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ KafkaStreamsMetrics.class, StreamsBuilderFactoryBean.class }) static class KafkaStreamsMetricsConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java index 1a828eb2aeab..bbc6bf55dde6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java @@ -48,6 +48,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.core.log.LogMessage; import org.springframework.util.StringUtils; @@ -87,7 +88,7 @@ public CollectorRegistry collectorRegistry() { return new CollectorRegistry(true); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnAvailableEndpoint(endpoint = PrometheusScrapeEndpoint.class) public static class PrometheusScrapeEndpointConfiguration { @@ -103,7 +104,7 @@ public PrometheusScrapeEndpoint prometheusEndpoint(CollectorRegistry collectorRe * Configuration for Prometheus * Pushgateway. */ - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(PushGateway.class) @ConditionalOnProperty(prefix = "management.metrics.export.prometheus.pushgateway", name = "enabled") public static class PrometheusPushGatewayConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java index 76db4d3e0e88..251a4d035d06 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java @@ -44,6 +44,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.jdbc.DataSourceUnwrapper; import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadataProvider; +import org.springframework.context.annotation.Configuration; import org.springframework.core.log.LogMessage; import org.springframework.util.StringUtils; @@ -61,7 +62,7 @@ @ConditionalOnBean({ DataSource.class, MeterRegistry.class }) public class DataSourcePoolMetricsAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnBean(DataSourcePoolMetadataProvider.class) static class DataSourcePoolMetadataMetricsConfiguration { @@ -98,7 +99,7 @@ private String getDataSourceName(String beanName) { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(HikariDataSource.class) static class HikariDataSourceMetricsConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceAutoConfiguration.java index a0dfc0d2204a..098926baf6d9 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/trace/http/HttpTraceAutoConfiguration.java @@ -29,6 +29,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for HTTP tracing. @@ -49,7 +50,7 @@ public HttpExchangeTracer httpExchangeTracer(HttpTraceProperties traceProperties return new HttpExchangeTracer(traceProperties.getInclude()); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.SERVLET) static class ServletTraceFilterConfiguration { @@ -61,7 +62,7 @@ HttpTraceFilter httpTraceFilter(HttpTraceRepository repository, HttpExchangeTrac } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.REACTIVE) static class ReactiveTraceFilterConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java index e9489d382fc8..45f8ac96d335 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java @@ -34,6 +34,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.web.reactive.DispatcherHandler; import org.springframework.web.servlet.DispatcherServlet; @@ -54,7 +55,7 @@ public MappingsEndpoint mappingsEndpoint(ApplicationContext applicationContext, applicationContext); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.SERVLET) static class ServletWebConfiguration { @@ -68,7 +69,7 @@ FiltersMappingDescriptionProvider filterMappingDescriptionProvider() { return new FiltersMappingDescriptionProvider(); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(DispatcherServlet.class) @ConditionalOnBean(DispatcherServlet.class) static class SpringMvcConfiguration { @@ -82,7 +83,7 @@ DispatcherServletsMappingDescriptionProvider dispatcherServletMappingDescription } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnClass(DispatcherHandler.class) @ConditionalOnBean(DispatcherHandler.class) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java index 973e5b3345f7..7e4592eac3ac 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java @@ -36,6 +36,7 @@ import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.Configuration; import org.springframework.context.event.ContextClosedEvent; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.core.Ordered; @@ -60,7 +61,7 @@ @EnableConfigurationProperties({ WebEndpointProperties.class, ManagementServerProperties.class }) public class ManagementContextAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnManagementPort(ManagementPortType.SAME) static class SameManagementContextConfiguration implements SmartInitializingSingleton { @@ -110,7 +111,7 @@ public Object getProperty(String name) { }); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableManagementContext(ManagementContextType.SAME) static class EnableSameManagementContextConfiguration { @@ -118,7 +119,7 @@ static class EnableSameManagementContextConfiguration { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnManagementPort(ManagementPortType.DIFFERENT) static class DifferentManagementContextConfiguration implements ApplicationListener { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/servlet/ServletManagementContextAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/servlet/ServletManagementContextAutoConfiguration.java index 649144418921..04cfcb10bf27 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/servlet/ServletManagementContextAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/servlet/ServletManagementContextAutoConfiguration.java @@ -28,6 +28,7 @@ import org.springframework.boot.web.servlet.filter.ApplicationContextHeaderFilter; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; /** * {@link EnableAutoConfiguration Auto-configuration} for Servlet-specific management @@ -53,7 +54,7 @@ public ManagementServletContext managementServletContext(WebEndpointProperties p // Put Servlets and Filters in their own nested class so they don't force early // instantiation of ManagementServerProperties. - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(prefix = "management.server", name = "add-application-context-header", havingValue = "true") protected static class ApplicationContextFilterConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java index b9d43b3f7814..eef1a834db57 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java @@ -41,6 +41,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.io.ResourceLoader; @@ -91,7 +92,7 @@ @Import({ RabbitAnnotationDrivenConfiguration.class, RabbitStreamConfiguration.class }) public class RabbitAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) protected static class RabbitConnectionFactoryCreator { @Bean @@ -137,7 +138,7 @@ CachingConnectionFactory rabbitConnectionFactory( } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @Import(RabbitConnectionFactoryCreator.class) protected static class RabbitTemplateConfiguration { @@ -172,7 +173,7 @@ public AmqpAdmin amqpAdmin(ConnectionFactory connectionFactory) { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(RabbitMessagingTemplate.class) @ConditionalOnMissingBean(RabbitMessagingTemplate.class) @Import(RabbitTemplateConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java index 3cb996d37831..ecd13d6ff2ed 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java @@ -26,6 +26,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableAspectJAutoProxy; /** @@ -46,18 +47,18 @@ @ConditionalOnProperty(prefix = "spring.aop", name = "auto", havingValue = "true", matchIfMissing = true) public class AopAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(Advice.class) static class AspectJAutoProxyingConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableAspectJAutoProxy(proxyTargetClass = false) @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "false") static class JdkDynamicAutoProxyConfiguration { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableAspectJAutoProxy(proxyTargetClass = true) @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "true", matchIfMissing = true) @@ -67,7 +68,7 @@ static class CglibAutoProxyConfiguration { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnMissingClass("org.aspectj.weaver.Advice") @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "true", matchIfMissing = true) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java index bfb2ee9803d0..4224937b7103 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java @@ -102,7 +102,7 @@ public SimpleJobOperator jobOperator(ObjectProvider jobP return factory; } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnBean(DataSource.class) @ConditionalOnClass(DatabasePopulator.class) @Conditional(OnBatchDatasourceInitializationCondition.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java index a2331072753d..e57f5db9f45d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfiguration.java @@ -46,6 +46,7 @@ import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.util.ResourceUtils; @@ -122,7 +123,7 @@ private KeyStore loadKeyStore(String resource, String keyStorePassword) throws E return store; } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ObjectMapper.class) static class JacksonConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfiguration.java index 4b969b91ce95..cc1125681917 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfiguration.java @@ -29,6 +29,7 @@ import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.couchbase.core.mapping.event.ValidatingCouchbaseEventListener; import org.springframework.data.couchbase.repository.CouchbaseRepository; @@ -48,7 +49,7 @@ CouchbaseClientFactoryDependentConfiguration.class }) public class CouchbaseDataAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(Validator.class) public static class ValidationConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java index 1ce51bfe3f3c..533e1c7b21f7 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration.java @@ -25,6 +25,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration; import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories; @@ -52,14 +53,14 @@ @AutoConfigureAfter({ JdbcTemplateAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class }) public class JdbcRepositoriesAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnMissingBean(JdbcRepositoryConfigExtension.class) @Import(JdbcRepositoriesRegistrar.class) static class JdbcRepositoriesConfiguration { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnMissingBean(AbstractJdbcConfiguration.class) static class SpringBootJdbcConfiguration extends AbstractJdbcConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java index e8db1f86e3db..7b2b21e9bc4a 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java @@ -56,6 +56,7 @@ import org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.convert.TypeDescriptor; import org.springframework.core.convert.converter.GenericConverter; @@ -104,7 +105,7 @@ public FlywaySchemaManagementProvider flywayDefaultDdlModeProvider(ObjectProvide return new FlywaySchemaManagementProvider(flyways); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(JdbcUtils.class) @ConditionalOnMissingBean(Flyway.class) @EnableConfigurationProperties(FlywayProperties.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/reactive/GraphQlWebFluxAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/reactive/GraphQlWebFluxAutoConfiguration.java index 3efd75a3cab8..f68fa2ab79d0 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/reactive/GraphQlWebFluxAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/reactive/GraphQlWebFluxAutoConfiguration.java @@ -38,6 +38,7 @@ import org.springframework.boot.autoconfigure.graphql.GraphQlProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ResourceLoader; import org.springframework.core.log.LogMessage; import org.springframework.graphql.GraphQlService; @@ -129,7 +130,7 @@ private void onlyAllowPost(HttpHeaders headers) { headers.setAllow(Collections.singleton(HttpMethod.POST)); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) public static class GraphQlEndpointCorsConfiguration implements WebFluxConfigurer { final GraphQlProperties graphQlProperties; @@ -151,7 +152,7 @@ public void addCorsMappings(CorsRegistry registry) { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(prefix = "spring.graphql.websocket", name = "path") public static class WebSocketConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.java index b386d6985d6a..64bbcd8ed2e4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/servlet/GraphQlWebMvcAutoConfiguration.java @@ -41,6 +41,7 @@ import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ResourceLoader; import org.springframework.core.log.LogMessage; import org.springframework.graphql.GraphQlService; @@ -133,7 +134,7 @@ private void onlyAllowPost(HttpHeaders headers) { headers.setAllow(Collections.singleton(HttpMethod.POST)); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) public static class GraphQlEndpointCorsConfiguration implements WebMvcConfigurer { final GraphQlProperties graphQlProperties; @@ -155,7 +156,7 @@ public void addCorsMappings(CorsRegistry registry) { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ ServerContainer.class, WebSocketHandler.class }) @ConditionalOnProperty(prefix = "spring.graphql.websocket", name = "path") public static class WebSocketConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java index 5996090ef5f5..5087558bdd80 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java @@ -39,6 +39,7 @@ 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 org.springframework.context.i18n.LocaleContextHolder; import org.springframework.core.log.LogMessage; import org.springframework.web.servlet.view.UrlBasedViewResolver; @@ -65,7 +66,7 @@ public class GroovyTemplateAutoConfiguration { private static final Log logger = LogFactory.getLog(GroovyTemplateAutoConfiguration.class); - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(GroovyMarkupConfigurer.class) public static class GroovyMarkupConfiguration { @@ -122,7 +123,7 @@ public GroovyMarkupConfigurer groovyMarkupConfigurer(ObjectProvider bu .createMongoClient(settings); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnMissingBean(MongoClientSettings.class) static class MongoClientSettingsConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoReactiveAutoConfiguration.java index 94a29059b52b..3c7fb8b65bfc 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoReactiveAutoConfiguration.java @@ -35,6 +35,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.core.env.Environment; @@ -61,7 +62,7 @@ public MongoClient reactiveStreamsMongoClient( return factory.createMongoClient(settings); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnMissingBean(MongoClientSettings.class) static class MongoClientSettingsConfiguration { @@ -78,7 +79,7 @@ MongoPropertiesClientSettingsBuilderCustomizer mongoPropertiesCustomizer(MongoPr } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ SocketChannel.class, NioEventLoopGroup.class }) static class NettyDriverConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfiguration.java index 0b094e1fa811..3f0f0711f08e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfiguration.java @@ -65,6 +65,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.env.MapPropertySource; import org.springframework.core.env.MutablePropertySources; @@ -195,7 +196,7 @@ private Map getMongoPorts(MutablePropertySources sources) { return (Map) propertySource.getSource(); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(Logger.class) @ConditionalOnMissingBean(RuntimeConfig.class) static class RuntimeConfigConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java index 51651a342949..fbc2d12096a0 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java @@ -44,6 +44,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.annotation.Order; import org.springframework.scheduling.quartz.SchedulerFactoryBean; @@ -96,7 +97,7 @@ private Properties asProperties(Map source) { return properties; } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnSingleCandidate(DataSource.class) @ConditionalOnProperty(prefix = "spring.quartz", name = "job-store-type", havingValue = "jdbc") @Import(DatabaseInitializationDependencyConfigurer.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java index 4da00bb1520e..1e9063ecb851 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java @@ -41,6 +41,7 @@ import org.springframework.boot.rsocket.server.RSocketServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; import org.springframework.core.io.buffer.NettyDataBufferFactory; import org.springframework.http.client.reactive.ReactorResourceFactory; import org.springframework.messaging.rsocket.RSocketStrategies; @@ -64,7 +65,7 @@ public class RSocketServerAutoConfiguration { @Conditional(OnRSocketWebServerCondition.class) - @AutoConfiguration + @Configuration(proxyBeanMethods = false) static class WebFluxServerConfiguration { @Bean @@ -79,7 +80,7 @@ RSocketWebSocketNettyRouteProvider rSocketWebsocketRouteProvider(RSocketProperti @ConditionalOnProperty(prefix = "spring.rsocket.server", name = "port") @ConditionalOnClass(ReactorResourceFactory.class) - @AutoConfiguration + @Configuration(proxyBeanMethods = false) static class EmbeddedServerConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java index e4c244723bc8..0329584216f7 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketStrategiesAutoConfiguration.java @@ -30,6 +30,7 @@ import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.boot.rsocket.messaging.RSocketStrategiesCustomizer; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.http.MediaType; import org.springframework.http.codec.cbor.Jackson2CborDecoder; @@ -65,7 +66,7 @@ public RSocketStrategies rSocketStrategies(ObjectProvider resourceUrlEncodingFilter() { return registration; } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) static class ThymeleafViewResolverConfiguration { @Bean @@ -199,7 +200,7 @@ private String appendCharset(MimeType type, String charset) { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true) static class ThymeleafReactiveConfiguration { @@ -218,7 +219,7 @@ SpringWebFluxTemplateEngine templateEngine(ThymeleafProperties properties, } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnProperty(name = "spring.thymeleaf.enabled", matchIfMissing = true) static class ThymeleafWebFluxConfiguration { @@ -255,7 +256,7 @@ private void mapReactiveProperties(Reactive properties, ThymeleafReactiveViewRes } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(LayoutDialect.class) static class ThymeleafWebLayoutConfiguration { @@ -267,7 +268,7 @@ LayoutDialect layoutDialect() { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(DataAttributeDialect.class) static class DataAttributeDialectConfiguration { @@ -279,7 +280,7 @@ DataAttributeDialect dialect() { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ SpringSecurityDialect.class, CsrfToken.class }) static class ThymeleafSecurityDialectConfiguration { @@ -291,7 +292,7 @@ SpringSecurityDialect securityDialect() { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(Java8TimeDialect.class) static class ThymeleafJava8TimeDialect { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java index 1ecb3562799c..54a060115f82 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java @@ -32,6 +32,7 @@ import org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.ReactiveTransactionManager; import org.springframework.transaction.TransactionManager; @@ -69,7 +70,7 @@ public TransactionalOperator transactionalOperator(ReactiveTransactionManager tr return TransactionalOperator.create(transactionManager); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnSingleCandidate(PlatformTransactionManager.class) public static class TransactionTemplateConfiguration { @@ -81,19 +82,19 @@ public TransactionTemplate transactionTemplate(PlatformTransactionManager transa } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnBean(TransactionManager.class) @ConditionalOnMissingBean(AbstractTransactionManagementConfiguration.class) public static class EnableTransactionManagementConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableTransactionManagement(proxyTargetClass = false) @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "false") public static class JdkDynamicAutoProxyConfiguration { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableTransactionManagement(proxyTargetClass = true) @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "true", matchIfMissing = true) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration.java index e2934e93bad1..3abb0e73c107 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/EmbeddedWebServerFactoryCustomizerAutoConfiguration.java @@ -32,6 +32,7 @@ import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; /** @@ -49,7 +50,7 @@ public class EmbeddedWebServerFactoryCustomizerAutoConfiguration { /** * Nested configuration if Tomcat is being used. */ - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ Tomcat.class, UpgradeProtocol.class }) public static class TomcatWebServerFactoryCustomizerConfiguration { @@ -64,7 +65,7 @@ public TomcatWebServerFactoryCustomizer tomcatWebServerFactoryCustomizer(Environ /** * Nested configuration if Jetty is being used. */ - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ Server.class, Loader.class, WebAppContext.class }) public static class JettyWebServerFactoryCustomizerConfiguration { @@ -79,7 +80,7 @@ public JettyWebServerFactoryCustomizer jettyWebServerFactoryCustomizer(Environme /** * Nested configuration if Undertow is being used. */ - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ Undertow.class, SslClientAuthMode.class }) public static class UndertowWebServerFactoryCustomizerConfiguration { @@ -94,7 +95,7 @@ public UndertowWebServerFactoryCustomizer undertowWebServerFactoryCustomizer(Env /** * Nested configuration if Netty is being used. */ - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(HttpServer.class) public static class NettyWebServerFactoryCustomizerConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/HttpHandlerAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/HttpHandlerAutoConfiguration.java index a49d7974e17c..d6e7a726195d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/HttpHandlerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/HttpHandlerAutoConfiguration.java @@ -29,6 +29,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.http.server.reactive.ContextPathCompositeHandler; import org.springframework.http.server.reactive.HttpHandler; @@ -51,7 +52,7 @@ @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10) public class HttpHandlerAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) public static class AnnotationConfig { private final ApplicationContext applicationContext; diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java index 6134d51148ab..940cb290cd30 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java @@ -49,6 +49,7 @@ import org.springframework.boot.web.reactive.filter.OrderedHiddenHttpMethodFilter; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; @@ -114,7 +115,7 @@ public OrderedHiddenHttpMethodFilter hiddenHttpMethodFilter() { return new OrderedHiddenHttpMethodFilter(); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) public static class WelcomePageConfiguration { @Bean @@ -135,7 +136,7 @@ public RouterFunctionMapping welcomePageRouterFunctionMapping(ApplicationContext } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties({ WebProperties.class, WebFluxProperties.class }) @Import({ EnableWebFluxConfiguration.class }) @Order(0) @@ -234,7 +235,7 @@ private void customizeResourceHandlerRegistration(ResourceHandlerRegistration re /** * Configuration equivalent to {@code @EnableWebFlux}. */ - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties({ WebProperties.class, ServerProperties.class }) public static class EnableWebFluxConfiguration extends DelegatingWebFluxConfiguration { @@ -319,7 +320,7 @@ public WebSessionManager webSessionManager(ObjectProvider } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnEnabledResourceChain static class ResourceChainCustomizerConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java index 7b58f5bdeaef..e9c66dee6196 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java @@ -29,6 +29,7 @@ import org.springframework.boot.web.codec.CodecCustomizer; import org.springframework.boot.web.reactive.function.client.WebClientCustomizer; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import org.springframework.core.annotation.Order; import org.springframework.web.reactive.function.client.WebClient; @@ -58,7 +59,7 @@ public WebClient.Builder webClientBuilder(ObjectProvider cu return builder; } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnBean(CodecCustomizer.class) protected static class WebClientCodecsConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java index 7ba37cd998ad..0f4a7d01d12c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration.java @@ -43,6 +43,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; @@ -79,7 +80,7 @@ public class DispatcherServletAutoConfiguration { */ public static final String DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME = "dispatcherServletRegistration"; - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @Conditional(DefaultDispatcherServletCondition.class) @ConditionalOnClass(ServletRegistration.class) @EnableConfigurationProperties(WebMvcProperties.class) @@ -106,7 +107,7 @@ public MultipartResolver multipartResolver(MultipartResolver resolver) { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @Conditional(DispatcherServletRegistrationCondition.class) @ConditionalOnClass(ServletRegistration.class) @EnableConfigurationProperties(WebMvcProperties.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java index 8dbdb3a24900..d400b858debf 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java @@ -64,6 +64,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ResourceLoaderAware; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Primary; import org.springframework.core.Ordered; @@ -182,7 +183,7 @@ public OrderedFormContentFilter formContentFilter() { // Defined as a nested config to ensure WebMvcConfigurer is not read when not // on the classpath @SuppressWarnings("deprecation") - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @Import(EnableWebMvcConfiguration.class) @EnableConfigurationProperties({ WebMvcProperties.class, WebProperties.class }) @Order(0) @@ -383,7 +384,7 @@ public static RequestContextFilter requestContextFilter() { /** * Configuration equivalent to {@code @EnableWebMvc}. */ - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(WebProperties.class) public static class EnableWebMvcConfiguration extends DelegatingWebMvcConfiguration implements ResourceLoaderAware { @@ -601,7 +602,7 @@ public void setResourceLoader(ResourceLoader resourceLoader) { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnEnabledResourceChain static class ResourceChainCustomizerConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java index ffc40385a81e..cd905fbf9781 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java @@ -65,6 +65,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.http.MediaType; @@ -122,7 +123,7 @@ public static PreserveErrorControllerTargetClassPostProcessor preserveErrorContr return new PreserveErrorControllerTargetClassPostProcessor(); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties({ WebProperties.class, WebMvcProperties.class }) static class DefaultErrorViewResolverConfiguration { @@ -144,7 +145,7 @@ DefaultErrorViewResolver conventionErrorViewResolver() { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(prefix = "server.error.whitelabel", name = "enabled", matchIfMissing = true) @Conditional(ErrorTemplateMissingCondition.class) protected static class WhitelabelErrorViewConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java index 8f02598c0297..aaab7c8d20c0 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java @@ -43,6 +43,7 @@ import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Role; import org.springframework.core.io.Resource; import org.springframework.util.StringUtils; @@ -89,7 +90,7 @@ public static WsdlDefinitionBeanFactoryPostProcessor wsdlDefinitionBeanFactoryPo return new WsdlDefinitionBeanFactoryPostProcessor(); } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @EnableWs protected static class WsConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/reactive/WebSocketReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/reactive/WebSocketReactiveAutoConfiguration.java index 3c3bbd2406bc..b4b2ec43c3bd 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/reactive/WebSocketReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/reactive/WebSocketReactiveAutoConfiguration.java @@ -30,6 +30,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; /** * Auto configuration for WebSocket reactive server in Tomcat, Jetty or Undertow. Requires @@ -47,7 +48,7 @@ @AutoConfigureBefore(ReactiveWebServerFactoryAutoConfiguration.class) public class WebSocketReactiveAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ Tomcat.class, WsSci.class }) static class TomcatWebSocketConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java index 07a3aedad5e4..ab1cd9ecb7c4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketMessagingAutoConfiguration.java @@ -30,6 +30,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.messaging.converter.ByteArrayMessageConverter; import org.springframework.messaging.converter.DefaultContentTypeResolver; import org.springframework.messaging.converter.MappingJackson2MessageConverter; @@ -52,7 +53,7 @@ @AutoConfigureAfter(JacksonAutoConfiguration.class) public class WebSocketMessagingAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnBean({ DelegatingWebSocketMessageBrokerConfiguration.class, ObjectMapper.class }) @ConditionalOnClass({ ObjectMapper.class, AbstractMessageBrokerConfiguration.class }) static class WebSocketMessageConverterConfiguration implements WebSocketMessageBrokerConfigurer { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration.java index d6374225e35a..41cd636485d2 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/websocket/servlet/WebSocketServletAutoConfiguration.java @@ -31,6 +31,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; /** * Auto configuration for WebSocket servlet server in embedded Tomcat, Jetty or Undertow. @@ -59,7 +60,7 @@ @AutoConfigureBefore(ServletWebServerFactoryAutoConfiguration.class) public class WebSocketServletAutoConfiguration { - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ Tomcat.class, WsSci.class }) static class TomcatWebSocketConfiguration { @@ -71,7 +72,7 @@ TomcatWebSocketServletWebServerCustomizer websocketServletWebServerCustomizer() } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(WebSocketServerContainerInitializer.class) static class JettyWebSocketConfiguration { @@ -83,7 +84,7 @@ JettyWebSocketServletWebServerCustomizer websocketServletWebServerCustomizer() { } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(name = { Jetty10WebSocketServletWebServerCustomizer.JAVAX_WEB_SOCKET_SERVER_CONTAINER, Jetty10WebSocketServletWebServerCustomizer.JETTY_WEB_SOCKET_SERVER_CONTAINER }) static class Jetty10WebSocketConfiguration { @@ -96,7 +97,7 @@ Jetty10WebSocketServletWebServerCustomizer websocketServletWebServerCustomizer() } - @AutoConfiguration + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(io.undertow.websockets.jsr.Bootstrap.class) static class UndertowWebSocketConfiguration { From 3b57d0e753042410074cb845d37603c5b1ca26ec Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 14:39:18 +0100 Subject: [PATCH 10/33] Remove @Nullable --- .../boot/autoconfigure/AutoConfigurationLocator.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java index caf7f38b2e08..34416030f04d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java @@ -26,7 +26,6 @@ import java.util.List; import org.springframework.core.io.UrlResource; -import org.springframework.lang.Nullable; import org.springframework.util.Assert; public class AutoConfigurationLocator { @@ -35,7 +34,7 @@ public class AutoConfigurationLocator { private static final String COMMENT_START = "#"; - public List locate(Class annotation, @Nullable ClassLoader classLoader) { + public List locate(Class annotation, ClassLoader classLoader) { Assert.notNull(annotation, "'annotation' must not be null"); ClassLoader classLoaderToUse = classLoader; From 07367f8eb24f78bf91e2526e1e94bbc209905b38 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 14:42:01 +0100 Subject: [PATCH 11/33] Remove empty lines and refactor into methods --- .../AutoConfigurationLocator.java | 29 ++++++------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java index 34416030f04d..bfb8008196e4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java @@ -36,27 +36,24 @@ public class AutoConfigurationLocator { public List locate(Class annotation, ClassLoader classLoader) { Assert.notNull(annotation, "'annotation' must not be null"); - - ClassLoader classLoaderToUse = classLoader; - if (classLoaderToUse == null) { - classLoaderToUse = AutoConfigurationLocator.class.getClassLoader(); - } - - String annotationName = annotation.getName(); - String location = LOCATION + annotationName; - + ClassLoader classLoaderToUse = decideClassloader(classLoader); + String location = LOCATION + annotation.getName(); Enumeration urls = findUrlsInClasspath(classLoaderToUse, location); - List autoConfigurations = new ArrayList<>(); while (urls.hasMoreElements()) { URL url = urls.nextElement(); - autoConfigurations.addAll(readAutoConfigurations(url)); } - return autoConfigurations; } + private ClassLoader decideClassloader(ClassLoader classLoader) { + if (classLoader == null) { + return AutoConfigurationLocator.class.getClassLoader(); + } + return classLoader; + } + private Enumeration findUrlsInClasspath(ClassLoader classLoader, String location) { try { return classLoader.getResources(location); @@ -69,23 +66,17 @@ private Enumeration findUrlsInClasspath(ClassLoader classLoader, String loc private List readAutoConfigurations(URL url) { List autoConfigurations = new ArrayList<>(); - - // Read file line by line, ignore comments and empty lines - // A comment can be put after a valid class name try (BufferedReader reader = new BufferedReader( new InputStreamReader(new UrlResource(url).getInputStream(), StandardCharsets.UTF_8))) { String line; while ((line = reader.readLine()) != null) { line = stripComment(line); line = line.trim(); - if (line.isEmpty()) { continue; } - autoConfigurations.add(line); } - return autoConfigurations; } catch (IOException ex) { @@ -98,8 +89,6 @@ private String stripComment(String line) { if (hash == -1) { return line; } - - // This will return an empty string if the line starts with a comment symbol return line.substring(0, hash); } From 84378314ce5ce668f4e0d097a03f9521cd2e1dc4 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 14:44:32 +0100 Subject: [PATCH 12/33] Rename AutoConfigurationLoader and test --- .../autoconfigure/AutoConfigurationImportSelector.java | 2 +- ...igurationLocator.java => AutoConfigurationLoader.java} | 6 +++--- .../AutoConfigurationImportSelectorTests.java | 2 +- ...LocatorTest.java => AutoConfigurationLoaderTests.java} | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) rename spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/{AutoConfigurationLocator.java => AutoConfigurationLoader.java} (94%) rename spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/{AutoConfigurationLocatorTest.java => AutoConfigurationLoaderTests.java} (86%) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java index 89cf5923b39d..aa042eda0ed6 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java @@ -181,7 +181,7 @@ protected List getCandidateConfigurations(AnnotationMetadata metadata, A // Load autoconfigurations from AutoConfiguration file List configurations = new ArrayList<>(legacyConfigurations); - configurations.addAll(new AutoConfigurationLocator().locate(AutoConfiguration.class, getBeanClassLoader())); + configurations.addAll(new AutoConfigurationLoader().loadNames(AutoConfiguration.class, getBeanClassLoader())); Assert.notEmpty(configurations, "No auto configuration classes found in META-INF/spring.factories. If you " + "are using a custom packaging, make sure that file is correct."); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java similarity index 94% rename from spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java rename to spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java index bfb8008196e4..5f8d68a81eda 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLocator.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java @@ -28,13 +28,13 @@ import org.springframework.core.io.UrlResource; import org.springframework.util.Assert; -public class AutoConfigurationLocator { +public class AutoConfigurationLoader { private static final String LOCATION = "META-INF/springboot/"; private static final String COMMENT_START = "#"; - public List locate(Class annotation, ClassLoader classLoader) { + public List loadNames(Class annotation, ClassLoader classLoader) { Assert.notNull(annotation, "'annotation' must not be null"); ClassLoader classLoaderToUse = decideClassloader(classLoader); String location = LOCATION + annotation.getName(); @@ -49,7 +49,7 @@ public List locate(Class annotation, ClassLoader classLoader) { private ClassLoader decideClassloader(ClassLoader classLoader) { if (classLoader == null) { - return AutoConfigurationLocator.class.getClassLoader(); + return AutoConfigurationLoader.class.getClassLoader(); } return classLoader; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java index d0317c3db18f..a98311565d4f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java @@ -212,7 +212,7 @@ private String[] selectImports(Class source) { } private List getAutoConfigurationClassNames() { - return new AutoConfigurationLocator().locate(AutoConfiguration.class, getClass().getClassLoader()); + return new AutoConfigurationLoader().loadNames(AutoConfiguration.class, getClass().getClassLoader()); } private class TestAutoConfigurationImportSelector extends AutoConfigurationImportSelector { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLoaderTests.java similarity index 86% rename from spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java rename to spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLoaderTests.java index 6e3c6610b217..8a61617e8f35 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLocatorTest.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLoaderTests.java @@ -27,18 +27,18 @@ import static org.assertj.core.api.Assertions.assertThat; -class AutoConfigurationLocatorTest { +class AutoConfigurationLoaderTests { - private AutoConfigurationLocator sut; + private AutoConfigurationLoader sut; @BeforeEach void setUp() { - this.sut = new AutoConfigurationLocator(); + this.sut = new AutoConfigurationLoader(); } @Test void locate() { - List classNames = this.sut.locate(TestAutoConfiguration.class, null); + List classNames = this.sut.loadNames(TestAutoConfiguration.class, null); assertThat(classNames).containsExactly("class1", "class2", "class3"); } From e33714d65a96c038f40610dff75b2b4de817a67f Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 14:46:38 +0100 Subject: [PATCH 13/33] Remove empty lines --- .../AutoConfigurationImportSelector.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java index aa042eda0ed6..baf3fe204a24 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java @@ -67,6 +67,7 @@ * @author Andy Wilkinson * @author Stephane Nicoll * @author Madhura Bhave + * @author Moritz Halbritter * @since 1.3.0 * @see EnableAutoConfiguration */ @@ -175,14 +176,10 @@ protected Class getAnnotationClass() { * @return a list of candidate configurations */ protected List getCandidateConfigurations(AnnotationMetadata metadata, AnnotationAttributes attributes) { - // Load legacy autoconfigurations from spring.factories - List legacyConfigurations = SpringFactoriesLoader - .loadFactoryNames(getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader()); - - // Load autoconfigurations from AutoConfiguration file - List configurations = new ArrayList<>(legacyConfigurations); + List configurations = new ArrayList<>(); + configurations.addAll( + SpringFactoriesLoader.loadFactoryNames(getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader())); configurations.addAll(new AutoConfigurationLoader().loadNames(AutoConfiguration.class, getBeanClassLoader())); - Assert.notEmpty(configurations, "No auto configuration classes found in META-INF/spring.factories. If you " + "are using a custom packaging, make sure that file is correct."); return configurations; From 35d92ec4e33cd489d48be58207babd3464e68d5b Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 14:48:11 +0100 Subject: [PATCH 14/33] Fix JavaDoc --- .../boot/autoconfigure/AutoConfigurationImportSelector.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java index baf3fe204a24..518dec3c0f00 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java @@ -168,7 +168,9 @@ protected Class getAnnotationClass() { /** * Return the auto-configuration class names that should be considered. By default - * this method will load candidates using {@link SpringFactoriesLoader} with + * this method will load candidates using {@link AutoConfigurationLoader} with + * {@link #getSpringFactoriesLoaderFactoryClass()}. For backward compatible reasons it + * will also consider {@link SpringFactoriesLoader} with * {@link #getSpringFactoriesLoaderFactoryClass()}. * @param metadata the source metadata * @param attributes the {@link #getAttributes(AnnotationMetadata) annotation From 5f9a5b3e175b83fa0d1134658e90d5be0ddce44b Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 14:55:01 +0100 Subject: [PATCH 15/33] Add JavaDoc for @Autoconfiguration --- .../boot/autoconfigure/AutoConfiguration.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java index 53f997ae9fc9..531ef38ffedf 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfiguration.java @@ -23,8 +23,27 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.SpringFactoriesLoader; +/** + * Auto-configuration classes are regular Spring {@link Configuration @Configuration} + * beans. They are located using the {@link AutoConfigurationLoader} and the + * {@link SpringFactoriesLoader} mechanism (keyed against this class). Generally + * auto-configuration beans are {@link Conditional @Conditional} beans (most often using + * {@link ConditionalOnClass @ConditionalOnClass} and + * {@link ConditionalOnMissingBean @ConditionalOnMissingBean} annotations). + * + * @author Moritz Halbritter + * @since 2.7.0 + * @see EnableAutoConfiguration + * @see Conditional + * @see ConditionalOnClass + * @see ConditionalOnMissingBean + */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented From 108d94364bf57613fec0b9afda8c84c2bd83deb0 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 14:55:05 +0100 Subject: [PATCH 16/33] Fix JavaDoc --- .../boot/autoconfigure/EnableAutoConfiguration.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/EnableAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/EnableAutoConfiguration.java index eea76a0a4d55..624d9f3e9e46 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/EnableAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/EnableAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -60,9 +60,9 @@ * and classes can be searched. *

* Auto-configuration classes are regular Spring {@link Configuration @Configuration} - * beans. They are located using the {@link SpringFactoriesLoader} mechanism (keyed - * against this class). Generally auto-configuration beans are - * {@link Conditional @Conditional} beans (most often using + * beans. They are located using the {@link AutoConfigurationLoader} and the + * {@link SpringFactoriesLoader} mechanism (keyed against this class). Generally + * auto-configuration beans are {@link Conditional @Conditional} beans (most often using * {@link ConditionalOnClass @ConditionalOnClass} and * {@link ConditionalOnMissingBean @ConditionalOnMissingBean} annotations). * From a4b6811d7c05f65ccce18b0365486ed9f0dfc4c8 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 15:04:41 +0100 Subject: [PATCH 17/33] Add JavaDoc to AutoConfigurationLoader --- .../AutoConfigurationLoader.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java index 5f8d68a81eda..abd9c4002f2c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java @@ -26,14 +26,31 @@ import java.util.List; import org.springframework.core.io.UrlResource; +import org.springframework.core.io.support.SpringFactoriesLoader; import org.springframework.util.Assert; +/** + * Loads the names of annotated classes, usually @{@link AutoConfiguration}. + * + * The names of the classes are stored in files named META-INF/springboot/{full qualified + * name of the annotation}. Every line contains the full qualified class name of the + * annotated class. Comments are supported using the # character. + * + * @author Moritz Halbritter + * @since 2.7.0 + * @see AutoConfiguration + * @see SpringFactoriesLoader + */ public class AutoConfigurationLoader { private static final String LOCATION = "META-INF/springboot/"; private static final String COMMENT_START = "#"; + /** + * Loads the names of annotated classes. + * @return list of names of annotated classes + */ public List loadNames(Class annotation, ClassLoader classLoader) { Assert.notNull(annotation, "'annotation' must not be null"); ClassLoader classLoaderToUse = decideClassloader(classLoader); @@ -85,11 +102,11 @@ private List readAutoConfigurations(URL url) { } private String stripComment(String line) { - int hash = line.indexOf(COMMENT_START); - if (hash == -1) { + int commentStart = line.indexOf(COMMENT_START); + if (commentStart == -1) { return line; } - return line.substring(0, hash); + return line.substring(0, commentStart); } } From e2cdb92d0e2f9cca135579f58d645c367c8279a4 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 15:55:26 +0100 Subject: [PATCH 18/33] Change spring.factories in the documentation to the new place --- .../features/developing-auto-configuration.adoc | 15 ++++++++------- .../beanconditions/MyAutoConfiguration.java | 6 +++--- .../classconditions/MyAutoConfiguration.java | 5 +++-- .../testing/MyServiceAutoConfiguration.java | 6 +++--- .../beanconditions/MyAutoConfiguration.kt | 4 ++-- .../classconditions/MyAutoConfiguration.kt | 3 ++- .../testing/MyServiceAutoConfiguration.kt | 4 ++-- 7 files changed, 23 insertions(+), 20 deletions(-) diff --git a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/developing-auto-configuration.adoc b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/developing-auto-configuration.adoc index c1d8f9da95fb..3ce53460759d 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/developing-auto-configuration.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/developing-auto-configuration.adoc @@ -12,25 +12,26 @@ TIP: A https://github.com/snicoll-demos/spring-boot-master-auto-configuration[de [[features.developing-auto-configuration.understanding-auto-configured-beans]] === Understanding Auto-configured Beans -Under the hood, auto-configuration is implemented with standard `@Configuration` classes. +Under the hood, auto-configuration is implemented with `@AutoConfiguration` classes. +A `@AutoConfiguration` class is a standard `@Configuration` class. Additional `@Conditional` annotations are used to constrain when the auto-configuration should apply. Usually, auto-configuration classes use `@ConditionalOnClass` and `@ConditionalOnMissingBean` annotations. This ensures that auto-configuration applies only when relevant classes are found and when you have not declared your own `@Configuration`. -You can browse the source code of {spring-boot-autoconfigure-module-code}[`spring-boot-autoconfigure`] to see the `@Configuration` classes that Spring provides (see the {spring-boot-code}/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories[`META-INF/spring.factories`] file). +You can browse the source code of {spring-boot-autoconfigure-module-code}[`spring-boot-autoconfigure`] to see the `@AutoConfiguration` classes that Spring provides (see the {spring-boot-code}/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration[`META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration`] file). [[features.developing-auto-configuration.locating-auto-configuration-candidates]] === Locating Auto-configuration Candidates -Spring Boot checks for the presence of a `META-INF/spring.factories` file within your published jar. -The file should list your configuration classes under the `EnableAutoConfiguration` key, as shown in the following example: + +Spring Boot checks for the presence of a `META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration` file within your published jar. +The file should list your configuration classes, as shown in the following example: [indent=0] ---- - org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.mycorp.libx.autoconfigure.LibXAutoConfiguration,\ - com.mycorp.libx.autoconfigure.LibXWebAutoConfiguration + com.mycorp.libx.autoconfigure.LibXAutoConfiguration + com.mycorp.libx.autoconfigure.LibXWebAutoConfiguration ---- NOTE: Auto-configurations must be loaded that way _only_. diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/beanconditions/MyAutoConfiguration.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/beanconditions/MyAutoConfiguration.java index 2ac32c4f2abf..46ec87d41c75 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/beanconditions/MyAutoConfiguration.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/beanconditions/MyAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,11 +16,11 @@ package org.springframework.boot.docs.features.developingautoconfiguration.conditionannotations.beanconditions; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -@Configuration(proxyBeanMethods = false) +@AutoConfiguration public class MyAutoConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.java index 3db21879f277..0232a5c0ed23 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,12 +16,13 @@ package org.springframework.boot.docs.features.developingautoconfiguration.conditionannotations.classconditions; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -@Configuration(proxyBeanMethods = false) +@AutoConfiguration // Some conditions ... public class MyAutoConfiguration { diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/testing/MyServiceAutoConfiguration.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/testing/MyServiceAutoConfiguration.java index 19343df832ab..623bc7f03d00 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/testing/MyServiceAutoConfiguration.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/testing/MyServiceAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,15 +16,15 @@ package org.springframework.boot.docs.features.developingautoconfiguration.testing; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.docs.features.developingautoconfiguration.testing.MyServiceAutoConfiguration.UserProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(MyService.class) @EnableConfigurationProperties(UserProperties.class) public class MyServiceAutoConfiguration { diff --git a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/beanconditions/MyAutoConfiguration.kt b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/beanconditions/MyAutoConfiguration.kt index 2108ffcd7078..9c37fd8ded0d 100644 --- a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/beanconditions/MyAutoConfiguration.kt +++ b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/beanconditions/MyAutoConfiguration.kt @@ -16,11 +16,11 @@ package org.springframework.boot.docs.features.developingautoconfiguration.conditionannotations.beanconditions +import org.springframework.boot.autoconfigure.AutoConfiguration import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Configuration -@Configuration(proxyBeanMethods = false) +@AutoConfiguration class MyAutoConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.kt b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.kt index 8e452b1a4410..00c5f17f64cb 100644 --- a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.kt +++ b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.kt @@ -16,12 +16,13 @@ package org.springframework.boot.docs.features.developingautoconfiguration.conditionannotations.classconditions +import org.springframework.boot.autoconfigure.AutoConfiguration import org.springframework.boot.autoconfigure.condition.ConditionalOnClass import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration -@Configuration(proxyBeanMethods = false) +@AutoConfiguration // Some conditions ... class MyAutoConfiguration { diff --git a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/testing/MyServiceAutoConfiguration.kt b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/testing/MyServiceAutoConfiguration.kt index 85ed26060970..5bb2d2de7d7c 100644 --- a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/testing/MyServiceAutoConfiguration.kt +++ b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/developingautoconfiguration/testing/MyServiceAutoConfiguration.kt @@ -16,15 +16,15 @@ package org.springframework.boot.docs.features.developingautoconfiguration.testing +import org.springframework.boot.autoconfigure.AutoConfiguration import org.springframework.boot.autoconfigure.condition.ConditionalOnClass import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean import org.springframework.boot.context.properties.ConfigurationProperties import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.boot.docs.features.developingautoconfiguration.testing.MyServiceAutoConfiguration.UserProperties import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Configuration -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(MyService::class) @EnableConfigurationProperties( UserProperties::class From 9bf4ce45e9d9be046c3f27c50f47e3b16b421970 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 15:55:45 +0100 Subject: [PATCH 19/33] Improve error message if no auto configurations are found --- .../boot/autoconfigure/AutoConfigurationImportSelector.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java index 518dec3c0f00..046fdfba488e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelector.java @@ -182,8 +182,9 @@ protected List getCandidateConfigurations(AnnotationMetadata metadata, A configurations.addAll( SpringFactoriesLoader.loadFactoryNames(getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader())); configurations.addAll(new AutoConfigurationLoader().loadNames(AutoConfiguration.class, getBeanClassLoader())); - Assert.notEmpty(configurations, "No auto configuration classes found in META-INF/spring.factories. If you " - + "are using a custom packaging, make sure that file is correct."); + Assert.notEmpty(configurations, + "No auto configuration classes found in META-INF/spring.factories nor in META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration. If you " + + "are using a custom packaging, make sure that file is correct."); return configurations; } From 66204a74f2967a3ad21471d3e6c13c97d7eb450f Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 16:01:16 +0100 Subject: [PATCH 20/33] Fix missing import --- .../boot/autoconfigure/batch/BatchAutoConfiguration.java | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java index 4224937b7103..52c7bbc1ac7f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java @@ -40,6 +40,7 @@ import org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.jdbc.datasource.init.DatabasePopulator; import org.springframework.util.StringUtils; From a1774266deefc3fb6a4619cb476229cf40faeaaa Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 11 Feb 2022 16:05:38 +0100 Subject: [PATCH 21/33] Add comment tip to documentation --- .../docs/asciidoc/features/developing-auto-configuration.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/developing-auto-configuration.adoc b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/developing-auto-configuration.adoc index 3ce53460759d..f444e80ef7f3 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/developing-auto-configuration.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/developing-auto-configuration.adoc @@ -34,6 +34,8 @@ The file should list your configuration classes, as shown in the following examp com.mycorp.libx.autoconfigure.LibXWebAutoConfiguration ---- +TIP: You can use comments via `#` in this file. + NOTE: Auto-configurations must be loaded that way _only_. Make sure that they are defined in a specific package space and that they are never the target of component scanning. Furthermore, auto-configuration classes should not enable component scanning to find additional components. From 17e9dafd9f9d870796f3e8bc2b720830f30340d3 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Mon, 14 Feb 2022 10:54:18 +0100 Subject: [PATCH 22/33] Generate auto-configuration-metadata.properties from new file --- .../AutoConfigurationMetadata.java | 74 +++++++++++++++++-- .../AutoConfigurationLoader.java | 2 +- 2 files changed, 69 insertions(+), 7 deletions(-) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/autoconfigure/AutoConfigurationMetadata.java b/buildSrc/src/main/java/org/springframework/boot/build/autoconfigure/AutoConfigurationMetadata.java index 636a24396dab..678babb069b7 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/autoconfigure/AutoConfigurationMetadata.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/autoconfigure/AutoConfigurationMetadata.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,14 +16,19 @@ package org.springframework.boot.build.autoconfigure; +import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.Reader; +import java.util.ArrayList; +import java.util.Collections; import java.util.LinkedHashSet; +import java.util.List; import java.util.Properties; import java.util.Set; import java.util.concurrent.Callable; @@ -48,6 +53,8 @@ */ public class AutoConfigurationMetadata extends DefaultTask { + private static final String COMMENT_START = "#"; + private SourceSet sourceSet; private File outputFile; @@ -57,6 +64,12 @@ public AutoConfigurationMetadata() { .file((Callable) () -> new File(this.sourceSet.getOutput().getResourcesDir(), "META-INF/spring.factories")) .withPathSensitivity(PathSensitivity.RELATIVE).withPropertyName("spring.factories"); + getInputs() + .file((Callable) () -> new File(this.sourceSet.getOutput().getResourcesDir(), + "META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration")) + .withPathSensitivity(PathSensitivity.RELATIVE) + .withPropertyName("org.springframework.boot.autoconfigure.AutoConfiguration"); + dependsOn((Callable) () -> this.sourceSet.getProcessResourcesTaskName()); getProject().getConfigurations() .maybeCreate(AutoConfigurationPlugin.AUTO_CONFIGURATION_METADATA_CONFIGURATION_NAME); @@ -86,11 +99,9 @@ void documentAutoConfiguration() throws IOException { private Properties readAutoConfiguration() throws IOException { Properties autoConfiguration = CollectionFactory.createSortedProperties(true); - Properties springFactories = readSpringFactories( - new File(this.sourceSet.getOutput().getResourcesDir(), "META-INF/spring.factories")); - String enableAutoConfiguration = springFactories - .getProperty("org.springframework.boot.autoconfigure.EnableAutoConfiguration"); - Set classNames = StringUtils.commaDelimitedListToSet(enableAutoConfiguration); + Set classNames = new LinkedHashSet<>(); + classNames.addAll(readSpringFactories()); + classNames.addAll(readAutoConfigurationsFile()); Set publicClassNames = new LinkedHashSet<>(); for (String className : classNames) { File classFile = findClassFile(className); @@ -109,6 +120,57 @@ private Properties readAutoConfiguration() throws IOException { return autoConfiguration; } + /** + * Reads autoconfigurations from META-INF/spring.factories. + * @return autoconfigurations + */ + private Set readSpringFactories() throws IOException { + File file = new File(this.sourceSet.getOutput().getResourcesDir(), "META-INF/spring.factories"); + if (!file.exists()) { + return Collections.emptySet(); + } + Properties springFactories = readSpringFactories(file); + String enableAutoConfiguration = springFactories + .getProperty("org.springframework.boot.autoconfigure.EnableAutoConfiguration"); + return StringUtils.commaDelimitedListToSet(enableAutoConfiguration); + } + + /** + * Reads autoconfigurations from + * META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration. + * @return autoconfigurations + */ + private List readAutoConfigurationsFile() throws IOException { + File file = new File(this.sourceSet.getOutput().getResourcesDir(), + "META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfiguration"); + if (!file.exists()) { + return Collections.emptyList(); + } + // Nearly identical copy of + // org.springframework.boot.autoconfigure.AutoConfigurationLoader.readAutoConfigurations + try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)))) { + List autoConfigurations = new ArrayList<>(); + String line; + while ((line = reader.readLine()) != null) { + line = stripComment(line); + line = line.trim(); + if (line.isEmpty()) { + continue; + } + autoConfigurations.add(line); + } + return autoConfigurations; + } + } + + private String stripComment(String line) { + int commentStart = line.indexOf(COMMENT_START); + if (commentStart == -1) { + return line; + } + return line.substring(0, commentStart); + } + private File findClassFile(String className) { String classFileName = className.replace(".", "/") + ".class"; for (File classesDir : this.sourceSet.getOutput().getClassesDirs()) { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java index abd9c4002f2c..33a98d40570c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java @@ -82,9 +82,9 @@ private Enumeration findUrlsInClasspath(ClassLoader classLoader, String loc } private List readAutoConfigurations(URL url) { - List autoConfigurations = new ArrayList<>(); try (BufferedReader reader = new BufferedReader( new InputStreamReader(new UrlResource(url).getInputStream(), StandardCharsets.UTF_8))) { + List autoConfigurations = new ArrayList<>(); String line; while ((line = reader.readLine()) != null) { line = stripComment(line); From 0895ba4c632c1dec0333d3de73d36af41998e8a5 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Mon, 14 Feb 2022 14:40:40 +0100 Subject: [PATCH 23/33] Fix checkstyle --- .../boot/autoconfigure/AutoConfigurationLoader.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java index 33a98d40570c..3cc519f392c0 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java @@ -49,6 +49,8 @@ public class AutoConfigurationLoader { /** * Loads the names of annotated classes. + * @param annotation annotation to load + * @param classLoader class loader to use for loading * @return list of names of annotated classes */ public List loadNames(Class annotation, ClassLoader classLoader) { From 442cf3b58b15c84e556ab6a4c850f341777e7a60 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Mon, 14 Feb 2022 14:41:15 +0100 Subject: [PATCH 24/33] Use new annotation loader when using @ImportAutoConfiguration --- .../autoconfigure/ImportAutoConfigurationImportSelector.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java index bfbae2a75037..d0d5f26c7a5c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java @@ -94,7 +94,10 @@ private Collection getConfigurationsForAnnotation(Class source, Annot } protected Collection loadFactoryNames(Class source) { - return SpringFactoriesLoader.loadFactoryNames(source, getBeanClassLoader()); + List factoryNames = new ArrayList<>(); + factoryNames.addAll(SpringFactoriesLoader.loadFactoryNames(source, getBeanClassLoader())); + factoryNames.addAll(new AutoConfigurationLoader().loadNames(source, getBeanClassLoader())); + return factoryNames; } @Override From c60c17f3de9648b0c6d4e346399c6c24397a4331 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Mon, 14 Feb 2022 15:07:00 +0100 Subject: [PATCH 25/33] Migrate autoconfigurations from spring-boot-test-autoconfigure --- .../main/resources/META-INF/spring.factories | 221 ------------------ ...test.autoconfigure.core.AutoConfigureCache | 2 + ....data.cassandra.AutoConfigureDataCassandra | 6 + ...oconfigure.data.jdbc.AutoConfigureDataJdbc | 9 + ...oconfigure.data.ldap.AutoConfigureDataLdap | 4 + ...onfigure.data.mongo.AutoConfigureDataMongo | 9 + ...onfigure.data.neo4j.AutoConfigureDataNeo4j | 7 + ...onfigure.data.r2dbc.AutoConfigureDataR2dbc | 9 + ...onfigure.data.redis.AutoConfigureDataRedis | 4 + ...autoconfigure.graphql.AutoConfigureGraphQl | 4 + ....graphql.tester.AutoConfigureGraphQlTester | 2 + ...aphql.tester.AutoConfigureWebGraphQlTester | 2 + ....test.autoconfigure.jdbc.AutoConfigureJdbc | 8 + ...toconfigure.jdbc.AutoConfigureTestDatabase | 3 + ....test.autoconfigure.jooq.AutoConfigureJooq | 8 + ....test.autoconfigure.json.AutoConfigureJson | 4 + ...utoconfigure.json.AutoConfigureJsonTesters | 5 + ...autoconfigure.orm.jpa.AutoConfigureDataJpa | 10 + ...ure.orm.jpa.AutoConfigureTestEntityManager | 2 + ...toconfigure.restdocs.AutoConfigureRestDocs | 2 + ....client.AutoConfigureMockRestServiceServer | 2 + ...onfigure.web.client.AutoConfigureWebClient | 9 + ...onfigure.web.reactive.AutoConfigureWebFlux | 9 + ...re.web.reactive.AutoConfigureWebTestClient | 6 + ...configure.web.servlet.AutoConfigureMockMvc | 11 + ...oconfigure.web.servlet.AutoConfigureWebMvc | 17 ++ ...s.client.AutoConfigureMockWebServiceServer | 2 + ...vices.client.AutoConfigureWebServiceClient | 3 + ...s.server.AutoConfigureMockWebServiceClient | 2 + ...vices.server.AutoConfigureWebServiceServer | 2 + 30 files changed, 163 insertions(+), 221 deletions(-) create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.core.AutoConfigureCache create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.cassandra.AutoConfigureDataCassandra create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.jdbc.AutoConfigureDataJdbc create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.ldap.AutoConfigureDataLdap create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.mongo.AutoConfigureDataMongo create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.neo4j.AutoConfigureDataNeo4j create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.r2dbc.AutoConfigureDataR2dbc create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.redis.AutoConfigureDataRedis create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.AutoConfigureGraphQl create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureGraphQlTester create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureWebGraphQlTester create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureJdbc create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jooq.AutoConfigureJooq create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.json.AutoConfigureJson create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.json.AutoConfigureJsonTesters create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureDataJpa create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureTestEntityManager create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.client.AutoConfigureMockRestServiceServer create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.client.AutoConfigureWebClient create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebFlux create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureWebMvc create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureMockWebServiceServer create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureWebServiceClient create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureMockWebServiceClient create mode 100644 spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureWebServiceServer diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories index 0f5028ae3fec..2648ce2b0a2b 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories @@ -1,224 +1,3 @@ -# AutoConfigureCache auto-configuration imports -org.springframework.boot.test.autoconfigure.core.AutoConfigureCache=\ -org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration - -# AutoConfigureDataCassandra auto-configuration imports -org.springframework.boot.test.autoconfigure.data.cassandra.AutoConfigureDataCassandra=\ -org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration - -# AutoConfigureDataJdbc auto-configuration imports -org.springframework.boot.test.autoconfigure.data.jdbc.AutoConfigureDataJdbc=\ -org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ -org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\ -org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration - -# AutoConfigureDataJpa auto-configuration imports -org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureDataJpa=\ -org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ -org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,\ -org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\ -org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration - -# AutoConfigureDataLdap auto-configuration imports -org.springframework.boot.test.autoconfigure.data.ldap.AutoConfigureDataLdap=\ -org.springframework.boot.autoconfigure.data.ldap.LdapRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration,\ -org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration - -# AutoConfigureDataMongo auto-configuration imports -org.springframework.boot.test.autoconfigure.data.mongo.AutoConfigureDataMongo=\ -org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration,\ -org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration,\ -org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration,\ -org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration - -# AutoConfigureDataNeo4j auto-configuration imports -org.springframework.boot.test.autoconfigure.data.neo4j.AutoConfigureDataNeo4j=\ -org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration - -# AutoConfigureDataR2dbc auto-configuration imports -org.springframework.boot.test.autoconfigure.data.r2dbc.AutoConfigureDataR2dbc=\ -org.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration,\ -org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\ -org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ -org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration,\ -org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration,\ -org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\ -org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration - -# AutoConfigureDataRedis auto-configuration imports -org.springframework.boot.test.autoconfigure.data.redis.AutoConfigureDataRedis=\ -org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration - -# AutoConfigureJdbc auto-configuration imports -org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureJdbc=\ -org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ -org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\ -org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration - -# AutoConfigureTestDatabase auto-configuration imports -org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase=\ -org.springframework.boot.test.autoconfigure.jdbc.TestDatabaseAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration - -# AutoConfigureJooq auto-configuration imports -org.springframework.boot.test.autoconfigure.jooq.AutoConfigureJooq=\ -org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ -org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration,\ -org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ -org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\ -org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration - -# AutoConfigureJson auto-configuration imports -org.springframework.boot.test.autoconfigure.json.AutoConfigureJson=\ -org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,\ -org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration,\ -org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration - -# AutoConfigureJsonTesters auto-configuration imports -org.springframework.boot.test.autoconfigure.json.AutoConfigureJsonTesters=\ -org.springframework.boot.test.autoconfigure.json.JsonTestersAutoConfiguration,\ -org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,\ -org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration,\ -org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration - -# AutoConfigureWebClient auto-configuration imports -org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient=\ -org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration,\ -org.springframework.boot.test.autoconfigure.web.reactive.WebTestClientAutoConfiguration - -# AutoConfigureWebFlux auto-configuration imports -org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebFlux=\ -org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration,\ -org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration,\ -org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration,\ -org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration,\ -org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration - -# AutoConfigureMockMvc auto-configuration imports -org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc=\ -org.springframework.boot.test.autoconfigure.web.servlet.MockMvcAutoConfiguration,\ -org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebClientAutoConfiguration,\ -org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebDriverAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration,\ -org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration,\ -org.springframework.boot.test.autoconfigure.web.servlet.MockMvcSecurityConfiguration,\ -org.springframework.boot.test.autoconfigure.web.reactive.WebTestClientAutoConfiguration - -# AutoConfigureMockRestServiceServer -org.springframework.boot.test.autoconfigure.web.client.AutoConfigureMockRestServiceServer=\ -org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerAutoConfiguration - -# AutoConfigureRestDocs auto-configuration imports -org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs=\ -org.springframework.boot.test.autoconfigure.restdocs.RestDocsAutoConfiguration - -# AutoConfigureTestEntityManager auto-configuration imports -org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureTestEntityManager=\ -org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManagerAutoConfiguration - -# AutoConfigureWebClient auto-configuration imports -org.springframework.boot.test.autoconfigure.web.client.AutoConfigureWebClient=\ -org.springframework.boot.test.autoconfigure.web.client.WebClientRestTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,\ -org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration,\ -org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration,\ -org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration,\ -org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration - -# AutoConfigureWebMvc auto-configuration imports -org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureWebMvc=\ -org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration,\ -org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration,\ -org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration,\ -org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,\ -org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration,\ -org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration,\ -org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration,\ -org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration,\ -org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration,\ -org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration,\ -org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration,\ -org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration,\ -org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration - -# AutoConfigureGraphQl auto-configuration imports -org.springframework.boot.test.autoconfigure.graphql.AutoConfigureGraphQl=\ -org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration,\ -org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration,\ -org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration - -# AutoConfigureGraphQlTester auto-configuration imports -org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureGraphQlTester=\ -org.springframework.boot.test.autoconfigure.graphql.tester.GraphQlTesterAutoConfiguration - -# AutoConfigureWebGraphQlTester auto-configuration imports -org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureWebGraphQlTester=\ -org.springframework.boot.test.autoconfigure.graphql.tester.WebGraphQlTesterAutoConfiguration - -# AutoConfigureWebServiceClient -org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureWebServiceClient=\ -org.springframework.boot.test.autoconfigure.webservices.client.WebServiceClientTemplateAutoConfiguration,\ -org.springframework.boot.autoconfigure.webservices.client.WebServiceTemplateAutoConfiguration - -# AutoConfigureMockWebServiceServer -org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureMockWebServiceServer=\ -org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerAutoConfiguration - -# AutoConfigureWebServiceServer auto-configuration imports -org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureWebServiceServer=\ -org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration - -# AutoConfigureMockWebServiceClient auto-configuration imports -org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureMockWebServiceClient=\ -org.springframework.boot.test.autoconfigure.webservices.server.MockWebServiceClientAutoConfiguration - # DefaultTestExecutionListenersPostProcessors org.springframework.boot.test.context.DefaultTestExecutionListenersPostProcessor=\ org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener$PostProcessor diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.core.AutoConfigureCache b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.core.AutoConfigureCache new file mode 100644 index 000000000000..4cd7501b5a5a --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.core.AutoConfigureCache @@ -0,0 +1,2 @@ +# AutoConfigureCache auto-configuration imports +org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.cassandra.AutoConfigureDataCassandra b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.cassandra.AutoConfigureDataCassandra new file mode 100644 index 000000000000..890af9413d96 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.cassandra.AutoConfigureDataCassandra @@ -0,0 +1,6 @@ +# AutoConfigureDataCassandra auto-configuration imports +org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration +org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration +org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration +org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.jdbc.AutoConfigureDataJdbc b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.jdbc.AutoConfigureDataJdbc new file mode 100644 index 000000000000..e276c6de14f6 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.jdbc.AutoConfigureDataJdbc @@ -0,0 +1,9 @@ +# AutoConfigureDataJdbc auto-configuration imports +org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration +org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration +org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration +org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.ldap.AutoConfigureDataLdap b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.ldap.AutoConfigureDataLdap new file mode 100644 index 000000000000..9704c0aacaac --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.ldap.AutoConfigureDataLdap @@ -0,0 +1,4 @@ +# AutoConfigureDataLdap auto-configuration imports +org.springframework.boot.autoconfigure.data.ldap.LdapRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration +org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.mongo.AutoConfigureDataMongo b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.mongo.AutoConfigureDataMongo new file mode 100644 index 000000000000..93da5c082af8 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.mongo.AutoConfigureDataMongo @@ -0,0 +1,9 @@ +# AutoConfigureDataMongo auto-configuration imports +org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration +org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration +org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration +org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration +org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration +org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.neo4j.AutoConfigureDataNeo4j b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.neo4j.AutoConfigureDataNeo4j new file mode 100644 index 000000000000..5d25aa7db0f8 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.neo4j.AutoConfigureDataNeo4j @@ -0,0 +1,7 @@ +# AutoConfigureDataNeo4j auto-configuration imports +org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration +org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration +org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration +org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.r2dbc.AutoConfigureDataR2dbc b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.r2dbc.AutoConfigureDataR2dbc new file mode 100644 index 000000000000..ed0f4bec9234 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.r2dbc.AutoConfigureDataR2dbc @@ -0,0 +1,9 @@ +# AutoConfigureDataR2dbc auto-configuration imports +org.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration +org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration +org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration +org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration +org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration +org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.redis.AutoConfigureDataRedis b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.redis.AutoConfigureDataRedis new file mode 100644 index 000000000000..c871e47207e9 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.data.redis.AutoConfigureDataRedis @@ -0,0 +1,4 @@ +# AutoConfigureDataRedis auto-configuration imports +org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration +org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration +org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.AutoConfigureGraphQl b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.AutoConfigureGraphQl new file mode 100644 index 000000000000..c6f0c3e4e024 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.AutoConfigureGraphQl @@ -0,0 +1,4 @@ +# AutoConfigureGraphQl auto-configuration imports +org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration +org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration +org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureGraphQlTester b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureGraphQlTester new file mode 100644 index 000000000000..bbc8368cbef5 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureGraphQlTester @@ -0,0 +1,2 @@ +# AutoConfigureGraphQlTester auto-configuration imports +org.springframework.boot.test.autoconfigure.graphql.tester.GraphQlTesterAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureWebGraphQlTester b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureWebGraphQlTester new file mode 100644 index 000000000000..9b6b835e16ca --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.graphql.tester.AutoConfigureWebGraphQlTester @@ -0,0 +1,2 @@ +# AutoConfigureWebGraphQlTester auto-configuration imports +org.springframework.boot.test.autoconfigure.graphql.tester.WebGraphQlTesterAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureJdbc b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureJdbc new file mode 100644 index 000000000000..b3700d9cc94b --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureJdbc @@ -0,0 +1,8 @@ +# AutoConfigureJdbc auto-configuration imports +org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration +org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration +org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration +org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase new file mode 100644 index 000000000000..11ab8a552a5e --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase @@ -0,0 +1,3 @@ +# AutoConfigureTestDatabase auto-configuration imports +org.springframework.boot.test.autoconfigure.jdbc.TestDatabaseAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jooq.AutoConfigureJooq b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jooq.AutoConfigureJooq new file mode 100644 index 000000000000..c35cbedeefc7 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.jooq.AutoConfigureJooq @@ -0,0 +1,8 @@ +# AutoConfigureJooq auto-configuration imports +org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration +org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration +org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration +org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration +org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.json.AutoConfigureJson b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.json.AutoConfigureJson new file mode 100644 index 000000000000..13de5a9cc869 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.json.AutoConfigureJson @@ -0,0 +1,4 @@ +# AutoConfigureJson auto-configuration imports +org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration +org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration +org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.json.AutoConfigureJsonTesters b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.json.AutoConfigureJsonTesters new file mode 100644 index 000000000000..c3d0a1017b3d --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.json.AutoConfigureJsonTesters @@ -0,0 +1,5 @@ +# AutoConfigureJsonTesters auto-configuration imports +org.springframework.boot.test.autoconfigure.json.JsonTestersAutoConfiguration +org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration +org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration +org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureDataJpa b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureDataJpa new file mode 100644 index 000000000000..22c50b61e7e9 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureDataJpa @@ -0,0 +1,10 @@ +# AutoConfigureDataJpa auto-configuration imports +org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration +org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration +org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration +org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration +org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration +org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration +org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureTestEntityManager b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureTestEntityManager new file mode 100644 index 000000000000..f69cfcc90fa2 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.orm.jpa.AutoConfigureTestEntityManager @@ -0,0 +1,2 @@ +# AutoConfigureTestEntityManager auto-configuration imports +org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManagerAutoConfiguration diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs new file mode 100644 index 000000000000..1eb7e5053d6a --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs @@ -0,0 +1,2 @@ +# AutoConfigureRestDocs auto-configuration imports +org.springframework.boot.test.autoconfigure.restdocs.RestDocsAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.client.AutoConfigureMockRestServiceServer b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.client.AutoConfigureMockRestServiceServer new file mode 100644 index 000000000000..9e680dcc0e25 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.client.AutoConfigureMockRestServiceServer @@ -0,0 +1,2 @@ +# AutoConfigureMockRestServiceServer +org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.client.AutoConfigureWebClient b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.client.AutoConfigureWebClient new file mode 100644 index 000000000000..c789b0b5c278 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.client.AutoConfigureWebClient @@ -0,0 +1,9 @@ +# AutoConfigureWebClient auto-configuration imports +org.springframework.boot.test.autoconfigure.web.client.WebClientRestTemplateAutoConfiguration +org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration +org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration +org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration +org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration +org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration +org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebFlux b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebFlux new file mode 100644 index 000000000000..382c7a5e06e1 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebFlux @@ -0,0 +1,9 @@ +# AutoConfigureWebFlux auto-configuration imports +org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration +org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration +org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration +org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration +org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration +org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration +org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient new file mode 100644 index 000000000000..687e6fe7d6cd --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient @@ -0,0 +1,6 @@ +# AutoConfigureWebClient auto-configuration imports +org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration +org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration +org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration +org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration +org.springframework.boot.test.autoconfigure.web.reactive.WebTestClientAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc new file mode 100644 index 000000000000..5e7b2b657372 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc @@ -0,0 +1,11 @@ +# AutoConfigureMockMvc auto-configuration imports +org.springframework.boot.test.autoconfigure.web.servlet.MockMvcAutoConfiguration +org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebClientAutoConfiguration +org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebDriverAutoConfiguration +org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration +org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration +org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration +org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration +org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration +org.springframework.boot.test.autoconfigure.web.servlet.MockMvcSecurityConfiguration +org.springframework.boot.test.autoconfigure.web.reactive.WebTestClientAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureWebMvc b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureWebMvc new file mode 100644 index 000000000000..a8facbe6c039 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureWebMvc @@ -0,0 +1,17 @@ +# AutoConfigureWebMvc auto-configuration imports +org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration +org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration +org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration +org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration +org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration +org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration +org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration +org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration +org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration +org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration +org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration +org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration +org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration +org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration +org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration +org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureMockWebServiceServer b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureMockWebServiceServer new file mode 100644 index 000000000000..972825a924ea --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureMockWebServiceServer @@ -0,0 +1,2 @@ +# AutoConfigureMockWebServiceServer +org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerAutoConfiguration diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureWebServiceClient b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureWebServiceClient new file mode 100644 index 000000000000..2c83655f0dc1 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.client.AutoConfigureWebServiceClient @@ -0,0 +1,3 @@ +# AutoConfigureWebServiceClient +org.springframework.boot.test.autoconfigure.webservices.client.WebServiceClientTemplateAutoConfiguration +org.springframework.boot.autoconfigure.webservices.client.WebServiceTemplateAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureMockWebServiceClient b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureMockWebServiceClient new file mode 100644 index 000000000000..34c3609f0c71 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureMockWebServiceClient @@ -0,0 +1,2 @@ +# AutoConfigureMockWebServiceClient auto-configuration imports +org.springframework.boot.test.autoconfigure.webservices.server.MockWebServiceClientAutoConfiguration \ No newline at end of file diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureWebServiceServer b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureWebServiceServer new file mode 100644 index 000000000000..cc7f617ba2b3 --- /dev/null +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/springboot/org.springframework.boot.test.autoconfigure.webservices.server.AutoConfigureWebServiceServer @@ -0,0 +1,2 @@ +# AutoConfigureWebServiceServer auto-configuration imports +org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration \ No newline at end of file From c11db7e49012f6275a748da7cffa6d0f15c71781 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Tue, 15 Feb 2022 08:38:47 +0100 Subject: [PATCH 26/33] Update documentation on @ImportAutoConfiguration --- .../src/docs/asciidoc/features/testing.adoc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/testing.adoc b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/testing.adoc index 16b67977054c..6399d74690e3 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/testing.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/testing.adoc @@ -769,13 +769,18 @@ include::code:MyJdbcTests[] NOTE: Make sure to not use the regular `@Import` annotation to import auto-configurations as they are handled in a specific way by Spring Boot. -Alternatively, additional auto-configurations can be added for any use of a slice annotation by registering them in `META-INF/spring.factories` as shown in the following example: +Alternatively, additional auto-configurations can be added for any use of a slice annotation by registering them in a file stored in `META-INF/springboot` as shown in the following example: +.META-INF/springboot/org.springframework.boot.test.autoconfigure.jdbc.JdbcTest [indent=0] ---- - org.springframework.boot.test.autoconfigure.jdbc.JdbcTest=com.example.IntegrationAutoConfiguration + com.example.IntegrationAutoConfiguration ---- +In this example, the `com.example.IntegrationAutoConfiguration` is enabled on every test annotated with `@JdbcTest`. + +TIP: You can use comments via `#` in this file. + TIP: A slice or `@AutoConfigure...` annotation can be customized this way as long as it is meta-annotated with `@ImportAutoConfiguration`. From 67617abf0c8a2aa9eb8d99fb0b5f1a51e04d335c Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Tue, 15 Feb 2022 10:05:45 +0100 Subject: [PATCH 27/33] Adapt autoconfiguration lookup in AutoConfigurationExcludeFilter --- .../AutoConfigurationExcludeFilter.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java index dc83e8b28e49..66cf0ff7c37e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ package org.springframework.boot.autoconfigure; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.BeanClassLoaderAware; @@ -54,13 +55,20 @@ private boolean isConfiguration(MetadataReader metadataReader) { } private boolean isAutoConfiguration(MetadataReader metadataReader) { - return getAutoConfigurations().contains(metadataReader.getClassMetadata().getClassName()); + boolean annotatedWithAutoConfiguration = metadataReader.getAnnotationMetadata() + .isAnnotated(AutoConfiguration.class.getName()); + return annotatedWithAutoConfiguration + || getAutoConfigurations().contains(metadataReader.getClassMetadata().getClassName()); } protected List getAutoConfigurations() { if (this.autoConfigurations == null) { - this.autoConfigurations = SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class, - this.beanClassLoader); + List autoConfigurations = new ArrayList<>(); + autoConfigurations.addAll( + SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class, this.beanClassLoader)); + autoConfigurations.addAll( + new AutoConfigurationLoader().loadNames(EnableAutoConfiguration.class, this.beanClassLoader)); + this.autoConfigurations = autoConfigurations; } return this.autoConfigurations; } From e5e4f16eb22a61e55e38ca0d1acfb94462c8eda8 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Tue, 15 Feb 2022 10:13:07 +0100 Subject: [PATCH 28/33] Fix wrong annotation to lookup autoconfigurations --- .../boot/autoconfigure/AutoConfigurationExcludeFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java index 66cf0ff7c37e..2ffe6c723dea 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java @@ -67,7 +67,7 @@ protected List getAutoConfigurations() { autoConfigurations.addAll( SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class, this.beanClassLoader)); autoConfigurations.addAll( - new AutoConfigurationLoader().loadNames(EnableAutoConfiguration.class, this.beanClassLoader)); + new AutoConfigurationLoader().loadNames(AutoConfiguration.class, this.beanClassLoader)); this.autoConfigurations = autoConfigurations; } return this.autoConfigurations; From 61f769c3894928b95af076dc2f12cc0642d41618 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Tue, 15 Feb 2022 10:18:29 +0100 Subject: [PATCH 29/33] Fix formatting --- .../boot/autoconfigure/AutoConfigurationExcludeFilter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java index 2ffe6c723dea..478653b0d655 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationExcludeFilter.java @@ -66,8 +66,8 @@ protected List getAutoConfigurations() { List autoConfigurations = new ArrayList<>(); autoConfigurations.addAll( SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class, this.beanClassLoader)); - autoConfigurations.addAll( - new AutoConfigurationLoader().loadNames(AutoConfiguration.class, this.beanClassLoader)); + autoConfigurations + .addAll(new AutoConfigurationLoader().loadNames(AutoConfiguration.class, this.beanClassLoader)); this.autoConfigurations = autoConfigurations; } return this.autoConfigurations; From 66478366a547609bdb71c533b107fc8825efaf46 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Tue, 15 Feb 2022 11:20:06 +0100 Subject: [PATCH 30/33] Fix test --- .../boot/autoconfigure/AutoConfigurationLoaderTests.java | 2 +- ...onfigure.AutoConfigurationLoaderTests$TestAutoConfiguration} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename spring-boot-project/spring-boot-autoconfigure/src/test/resources/META-INF/springboot/{org.springframework.boot.autoconfigure.AutoConfigurationLocatorTest$TestAutoConfiguration => org.springframework.boot.autoconfigure.AutoConfigurationLoaderTests$TestAutoConfiguration} (100%) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLoaderTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLoaderTests.java index 8a61617e8f35..ef63167386d9 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLoaderTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationLoaderTests.java @@ -37,7 +37,7 @@ void setUp() { } @Test - void locate() { + void loadNames() { List classNames = this.sut.loadNames(TestAutoConfiguration.class, null); assertThat(classNames).containsExactly("class1", "class2", "class3"); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfigurationLocatorTest$TestAutoConfiguration b/spring-boot-project/spring-boot-autoconfigure/src/test/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfigurationLoaderTests$TestAutoConfiguration similarity index 100% rename from spring-boot-project/spring-boot-autoconfigure/src/test/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfigurationLocatorTest$TestAutoConfiguration rename to spring-boot-project/spring-boot-autoconfigure/src/test/resources/META-INF/springboot/org.springframework.boot.autoconfigure.AutoConfigurationLoaderTests$TestAutoConfiguration From 69cd1637901a368f3fb2083411b8c0021a611757 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Tue, 15 Feb 2022 11:30:49 +0100 Subject: [PATCH 31/33] Unbotch merge --- .../web/servlet/ServletWebServerFactoryAutoConfiguration.java | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.java index 76eb9a70f228..00da34fc0902 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.java @@ -44,6 +44,7 @@ import org.springframework.boot.web.servlet.WebListenerRegistrar; import org.springframework.boot.web.servlet.server.CookieSameSiteSupplier; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.ImportBeanDefinitionRegistrar; import org.springframework.core.Ordered; From 81f8ab599e3ae02db95982f6bdeaef61a328f645 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Tue, 15 Feb 2022 11:31:04 +0100 Subject: [PATCH 32/33] Make AutoConfigurationLoader package-protected to not expose public API --- .../boot/autoconfigure/AutoConfigurationLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java index 3cc519f392c0..87e62545674e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java @@ -41,7 +41,7 @@ * @see AutoConfiguration * @see SpringFactoriesLoader */ -public class AutoConfigurationLoader { +class AutoConfigurationLoader { private static final String LOCATION = "META-INF/springboot/"; From 9657b8937ae3314ff5c64cef84a1efa6fd3e598f Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Tue, 15 Feb 2022 11:35:59 +0100 Subject: [PATCH 33/33] Fix checkstyle --- .../boot/autoconfigure/AutoConfigurationLoader.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java index 87e62545674e..97e0b218e24f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationLoader.java @@ -37,7 +37,6 @@ * annotated class. Comments are supported using the # character. * * @author Moritz Halbritter - * @since 2.7.0 * @see AutoConfiguration * @see SpringFactoriesLoader */ @@ -53,7 +52,7 @@ class AutoConfigurationLoader { * @param classLoader class loader to use for loading * @return list of names of annotated classes */ - public List loadNames(Class annotation, ClassLoader classLoader) { + List loadNames(Class annotation, ClassLoader classLoader) { Assert.notNull(annotation, "'annotation' must not be null"); ClassLoader classLoaderToUse = decideClassloader(classLoader); String location = LOCATION + annotation.getName();