diff --git a/buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureRules.java b/buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureRules.java index 3f145f1ed72..8423cd44a3b 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureRules.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureRules.java @@ -22,10 +22,12 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; import java.util.function.BiConsumer; import java.util.function.Predicate; import java.util.function.Supplier; import java.util.stream.Collectors; +import java.util.stream.Stream; import com.tngtech.archunit.base.DescribedPredicate; import com.tngtech.archunit.core.domain.AccessTarget.CodeUnitCallTarget; @@ -33,6 +35,9 @@ import com.tngtech.archunit.core.domain.JavaAnnotation; import com.tngtech.archunit.core.domain.JavaCall; import com.tngtech.archunit.core.domain.JavaClass; import com.tngtech.archunit.core.domain.JavaClass.Predicates; +import com.tngtech.archunit.core.domain.JavaConstructor; +import com.tngtech.archunit.core.domain.JavaField; +import com.tngtech.archunit.core.domain.JavaMember; import com.tngtech.archunit.core.domain.JavaMethod; import com.tngtech.archunit.core.domain.JavaModifier; import com.tngtech.archunit.core.domain.JavaParameter; @@ -68,6 +73,8 @@ import org.springframework.util.ResourceUtils; */ final class ArchitectureRules { + private static final String AUTOCONFIGURATION_ANNOTATION = "org.springframework.boot.autoconfigure.AutoConfiguration"; + private ArchitectureRules() { } @@ -98,6 +105,8 @@ final class ArchitectureRules { rules.add(methodLevelConfigurationPropertiesShouldNotSpecifyOnlyPrefixAttribute()); rules.add(conditionsShouldNotBePublic()); rules.add(allConfigurationPropertiesBindingBeanMethodsShouldBeStatic()); + rules.add(autoConfigurationClassesShouldBePublicAndFinal()); + rules.add(autoConfigurationClassesShouldHaveNoPublicMembers()); return List.copyOf(rules); } @@ -319,6 +328,63 @@ final class ArchitectureRules { .allowEmptyShould(true); } + private static ArchRule autoConfigurationClassesShouldBePublicAndFinal() { + return ArchRuleDefinition.classes() + .that() + .areAnnotatedWith(AUTOCONFIGURATION_ANNOTATION) + .should() + .bePublic() + .andShould() + .haveModifier(JavaModifier.FINAL) + .allowEmptyShould(true); + } + + private static ArchRule autoConfigurationClassesShouldHaveNoPublicMembers() { + return ArchRuleDefinition.members() + .that() + .areDeclaredInClassesThat() + .areAnnotatedWith(AUTOCONFIGURATION_ANNOTATION) + .and(areNotDefaultConstructors()) + .and(areNotConstants()) + .and(dontOverridePublicMethods()) + .should() + .notBePublic() + .allowEmptyShould(true); + } + + private static DescribedPredicate dontOverridePublicMethods() { + OverridesPublicMethod predicate = new OverridesPublicMethod<>(); + return DescribedPredicate.describe("don't override public methods", (member) -> !predicate.test(member)); + } + + private static DescribedPredicate areNotDefaultConstructors() { + return DescribedPredicate.describe("aren't default constructors", + (member) -> !areDefaultConstructors().test(member)); + } + + private static DescribedPredicate areDefaultConstructors() { + return DescribedPredicate.describe("are default constructors", (member) -> { + if (!(member instanceof JavaConstructor constructor)) { + return false; + } + return constructor.getParameters().isEmpty(); + }); + } + + private static DescribedPredicate areNotConstants() { + return DescribedPredicate.describe("aren't constants", (member) -> !areConstants().test(member)); + } + + private static DescribedPredicate areConstants() { + return DescribedPredicate.describe("are constants", (member) -> { + if (member instanceof JavaField field) { + Set modifiers = field.getModifiers(); + return modifiers.contains(JavaModifier.STATIC) && modifiers.contains(JavaModifier.FINAL); + } + return false; + }); + } + private static boolean containsOnlySingleType(JavaType[] types, JavaType type) { return types.length == 1 && type.equals(types[0]); } @@ -391,4 +457,39 @@ final class ArchitectureRules { return string + " should be used instead"; } + private static class OverridesPublicMethod extends DescribedPredicate { + + OverridesPublicMethod() { + super("overrides public method"); + } + + @Override + public boolean test(T member) { + if (!(member instanceof JavaMethod javaMethod)) { + return false; + } + Stream superClassMethods = member.getOwner() + .getAllRawSuperclasses() + .stream() + .flatMap((superClass) -> superClass.getMethods().stream()); + Stream interfaceMethods = member.getOwner() + .getAllRawInterfaces() + .stream() + .flatMap((iface) -> iface.getMethods().stream()); + return Stream.concat(superClassMethods, interfaceMethods) + .anyMatch((superMethod) -> isPublic(superMethod) && isOverridden(superMethod, javaMethod)); + } + + private boolean isPublic(JavaMethod method) { + return method.getModifiers().contains(JavaModifier.PUBLIC); + } + + private boolean isOverridden(JavaMethod superMethod, JavaMethod method) { + return superMethod.getName().equals(method.getName()) + && superMethod.getRawParameterTypes().size() == method.getRawParameterTypes().size() + && superMethod.getDescriptor().equals(method.getDescriptor()); + } + + } + } diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java index 1da0c922095..0257b6464ba 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java @@ -40,7 +40,7 @@ import org.springframework.jmx.export.MBeanExporter; */ @AutoConfiguration(after = JmxAutoConfiguration.class) @ConditionalOnBooleanProperty("spring.application.admin.enabled") -public class SpringApplicationAdminJmxAutoConfiguration { +public final class SpringApplicationAdminJmxAutoConfiguration { /** * The property to use to customize the {@code ObjectName} of the application admin @@ -55,8 +55,8 @@ public class SpringApplicationAdminJmxAutoConfiguration { @Bean @ConditionalOnMissingBean - public SpringApplicationAdminMXBeanRegistrar springApplicationAdminRegistrar( - ObjectProvider mbeanExporters, Environment environment) throws MalformedObjectNameException { + SpringApplicationAdminMXBeanRegistrar springApplicationAdminRegistrar(ObjectProvider mbeanExporters, + Environment environment) throws MalformedObjectNameException { String jmxName = environment.getProperty(JMX_NAME_PROPERTY, DEFAULT_JMX_NAME); if (mbeanExporters != null) { // Make sure to not register that MBean twice for (MBeanExporter mbeanExporter : mbeanExporters) { diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java index 928888f9020..1024773a084 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java @@ -45,7 +45,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy; */ @AutoConfiguration @ConditionalOnBooleanProperty(name = "spring.aop.auto", matchIfMissing = true) -public class AopAutoConfiguration { +public final class AopAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(Advice.class) diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java index 8feb26bbf6f..8f8dad80d89 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java @@ -31,11 +31,11 @@ import org.springframework.context.annotation.Bean; * @since 2.3.0 */ @AutoConfiguration -public class ApplicationAvailabilityAutoConfiguration { +public final class ApplicationAvailabilityAutoConfiguration { @Bean @ConditionalOnMissingBean(ApplicationAvailability.class) - public ApplicationAvailabilityBean applicationAvailability() { + ApplicationAvailabilityBean applicationAvailability() { return new ApplicationAvailabilityBean(); } diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.java index 250bc6885d6..2b426dd792b 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/ConfigurationPropertiesAutoConfiguration.java @@ -33,6 +33,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties */ @AutoConfiguration @EnableConfigurationProperties -public class ConfigurationPropertiesAutoConfiguration { +public final class ConfigurationPropertiesAutoConfiguration { } diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.java index e0e3a09beb9..6ee99fdeffc 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/LifecycleAutoConfiguration.java @@ -34,12 +34,12 @@ import org.springframework.context.support.DefaultLifecycleProcessor; */ @AutoConfiguration @EnableConfigurationProperties(LifecycleProperties.class) -public class LifecycleAutoConfiguration { +public final class LifecycleAutoConfiguration { @Bean(name = AbstractApplicationContext.LIFECYCLE_PROCESSOR_BEAN_NAME) @ConditionalOnMissingBean(name = AbstractApplicationContext.LIFECYCLE_PROCESSOR_BEAN_NAME, search = SearchStrategy.CURRENT) - public DefaultLifecycleProcessor defaultLifecycleProcessor(LifecycleProperties properties) { + DefaultLifecycleProcessor defaultLifecycleProcessor(LifecycleProperties properties) { DefaultLifecycleProcessor lifecycleProcessor = new DefaultLifecycleProcessor(); lifecycleProcessor.setTimeoutPerShutdownPhase(properties.getTimeoutPerShutdownPhase().toMillis()); return lifecycleProcessor; diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.java index ecbaf11b69f..fa2e7ad661d 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.java @@ -68,12 +68,12 @@ import org.springframework.util.StringUtils; @Conditional(ResourceBundleCondition.class) @EnableConfigurationProperties(MessageSourceProperties.class) @ImportRuntimeHints(MessageSourceRuntimeHints.class) -public class MessageSourceAutoConfiguration { +public final class MessageSourceAutoConfiguration { private static final Resource[] NO_RESOURCES = {}; @Bean - public MessageSource messageSource(MessageSourceProperties properties) { + MessageSource messageSource(MessageSourceProperties properties) { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); if (!CollectionUtils.isEmpty(properties.getBasename())) { messageSource.setBasenames(properties.getBasename().toArray(new String[0])); diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.java index 5a8d41db4fa..d2df0e026bd 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/PropertyPlaceholderAutoConfiguration.java @@ -35,11 +35,11 @@ import org.springframework.core.Ordered; */ @AutoConfiguration @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) -public class PropertyPlaceholderAutoConfiguration { +public final class PropertyPlaceholderAutoConfiguration { @Bean @ConditionalOnMissingBean(search = SearchStrategy.CURRENT) - public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { + static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { return new PropertySourcesPlaceholderConfigurer(); } diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/info/ProjectInfoAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/info/ProjectInfoAutoConfiguration.java index 98d99f1bb3e..ce19cdca9e2 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/info/ProjectInfoAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/info/ProjectInfoAutoConfiguration.java @@ -49,18 +49,18 @@ import org.springframework.core.type.AnnotatedTypeMetadata; */ @AutoConfiguration @EnableConfigurationProperties(ProjectInfoProperties.class) -public class ProjectInfoAutoConfiguration { +public final class ProjectInfoAutoConfiguration { private final ProjectInfoProperties properties; - public ProjectInfoAutoConfiguration(ProjectInfoProperties properties) { + ProjectInfoAutoConfiguration(ProjectInfoProperties properties) { this.properties = properties; } @Conditional(GitResourceAvailableCondition.class) @ConditionalOnMissingBean @Bean - public GitProperties gitProperties() throws Exception { + GitProperties gitProperties() throws Exception { return new GitProperties( loadFrom(this.properties.getGit().getLocation(), "git", this.properties.getGit().getEncoding())); } @@ -68,7 +68,7 @@ public class ProjectInfoAutoConfiguration { @ConditionalOnResource(resources = "${spring.info.build.location:classpath:META-INF/build-info.properties}") @ConditionalOnMissingBean @Bean - public BuildProperties buildProperties() throws Exception { + BuildProperties buildProperties() throws Exception { return new BuildProperties( loadFrom(this.properties.getBuild().getLocation(), "build", this.properties.getBuild().getEncoding())); } diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java index 9fa5a344290..c1139ef0e1e 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java @@ -53,18 +53,18 @@ import org.springframework.util.StringUtils; @EnableConfigurationProperties(JmxProperties.class) @ConditionalOnClass({ MBeanExporter.class }) @ConditionalOnBooleanProperty("spring.jmx.enabled") -public class JmxAutoConfiguration { +public final class JmxAutoConfiguration { private final JmxProperties properties; - public JmxAutoConfiguration(JmxProperties properties) { + JmxAutoConfiguration(JmxProperties properties) { this.properties = properties; } @Bean @Primary @ConditionalOnMissingBean(value = MBeanExporter.class, search = SearchStrategy.CURRENT) - public AnnotationMBeanExporter mbeanExporter(ObjectNamingStrategy namingStrategy, BeanFactory beanFactory) { + AnnotationMBeanExporter mbeanExporter(ObjectNamingStrategy namingStrategy, BeanFactory beanFactory) { AnnotationMBeanExporter exporter = new AnnotationMBeanExporter(); exporter.setRegistrationPolicy(this.properties.getRegistrationPolicy()); exporter.setNamingStrategy(namingStrategy); @@ -78,7 +78,7 @@ public class JmxAutoConfiguration { @Bean @ConditionalOnMissingBean(value = ObjectNamingStrategy.class, search = SearchStrategy.CURRENT) - public ParentAwareNamingStrategy objectNamingStrategy() { + ParentAwareNamingStrategy objectNamingStrategy() { ParentAwareNamingStrategy namingStrategy = new ParentAwareNamingStrategy(new AnnotationJmxAttributeSource()); String defaultDomain = this.properties.getDefaultDomain(); if (StringUtils.hasLength(defaultDomain)) { @@ -90,7 +90,7 @@ public class JmxAutoConfiguration { @Bean @ConditionalOnMissingBean - public MBeanServer mbeanServer() { + MBeanServer mbeanServer() { MBeanServerFactoryBean factory = new MBeanServerFactoryBean(); factory.setLocateExistingServerIfPossible(true); factory.afterPropertiesSet(); diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ssl/SslAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ssl/SslAutoConfiguration.java index 0dd99f440a1..f002aa03540 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ssl/SslAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ssl/SslAutoConfiguration.java @@ -36,7 +36,7 @@ import org.springframework.core.io.ResourceLoader; */ @AutoConfiguration @EnableConfigurationProperties(SslProperties.class) -public class SslAutoConfiguration { +public final class SslAutoConfiguration { private final ResourceLoader resourceLoader; diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfiguration.java index 36d29d09a6d..ab6eb21cf47 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; TaskExecutorConfigurations.SimpleAsyncTaskExecutorBuilderConfiguration.class, TaskExecutorConfigurations.TaskExecutorConfiguration.class, TaskExecutorConfigurations.BootstrapExecutorConfiguration.class }) -public class TaskExecutionAutoConfiguration { +public final class TaskExecutionAutoConfiguration { /** * Bean name of the application {@link TaskExecutor}. diff --git a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfiguration.java b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfiguration.java index 8a8b867b361..97365008acd 100644 --- a/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfiguration.java @@ -41,11 +41,11 @@ import org.springframework.scheduling.config.TaskManagementConfigUtils; @Import({ TaskSchedulingConfigurations.ThreadPoolTaskSchedulerBuilderConfiguration.class, TaskSchedulingConfigurations.SimpleAsyncTaskSchedulerBuilderConfiguration.class, TaskSchedulingConfigurations.TaskSchedulerConfiguration.class }) -public class TaskSchedulingAutoConfiguration { +public final class TaskSchedulingAutoConfiguration { @Bean @ConditionalOnBean(name = TaskManagementConfigUtils.SCHEDULED_ANNOTATION_PROCESSOR_BEAN_NAME) - public static LazyInitializationExcludeFilter scheduledBeanLazyInitializationExcludeFilter() { + static LazyInitializationExcludeFilter scheduledBeanLazyInitializationExcludeFilter() { return new ScheduledBeanLazyInitializationExcludeFilter(); } diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java index dd018b0e941..6d7d0d7e91d 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationImportSelectorTests.java @@ -397,7 +397,7 @@ class AutoConfigurationImportSelectorTests { } @AutoConfiguration - static class SeventhAutoConfiguration { + public static final class SeventhAutoConfiguration { } diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationSorterTests.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationSorterTests.java index c857707e6e6..6412b14abb0 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationSorterTests.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/AutoConfigurationSorterTests.java @@ -318,7 +318,7 @@ class AutoConfigurationSorterTests { } @AutoConfiguration(after = AutoConfigureB2.class) - static class AutoConfigureA3 { + public static final class AutoConfigureA3 { } @@ -333,7 +333,7 @@ class AutoConfigurationSorterTests { } @AutoConfiguration(after = { AutoConfigureC.class }) - static class AutoConfigureB2 { + public static final class AutoConfigureB2 { } @@ -381,7 +381,7 @@ class AutoConfigurationSorterTests { } @AutoConfiguration(before = AutoConfigureX.class) - static class AutoConfigureY2 { + public static final class AutoConfigureY2 { } @@ -397,7 +397,7 @@ class AutoConfigurationSorterTests { } @AutoConfiguration(before = AutoConfigureY2.class) - static class AutoConfigureZ2 { + public static final class AutoConfigureZ2 { } diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelectorTests.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelectorTests.java index 33deb5c9b4d..848a15967c9 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelectorTests.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelectorTests.java @@ -369,12 +369,12 @@ class ImportAutoConfigurationImportSelectorTests { } @AutoConfiguration - static class ImportedAutoConfiguration { + public static final class ImportedAutoConfiguration { } @AutoConfiguration - static class AnotherImportedAutoConfiguration { + public static final class AnotherImportedAutoConfiguration { } diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionEvaluationReportTests.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionEvaluationReportTests.java index 31c1b2828a8..21690a33f80 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionEvaluationReportTests.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionEvaluationReportTests.java @@ -322,18 +322,18 @@ class ConditionEvaluationReportTests { @AutoConfiguration @ConditionalOnProperty(name = "com.example.property", matchIfMissing = true) - static class MatchingAutoConfiguration { + public static final class MatchingAutoConfiguration { } @AutoConfiguration @ConditionalOnBean(Duration.class) - static class NonMatchingAutoConfiguration { + public static final class NonMatchingAutoConfiguration { } @AutoConfiguration - static class UnconditionalAutoConfiguration { + public static final class UnconditionalAutoConfiguration { @Bean String example() { diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/UniqueShortNameAutoConfiguration.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/UniqueShortNameAutoConfiguration.java index 3a6fb49d48d..a5c5c5e02e0 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/UniqueShortNameAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/UniqueShortNameAutoConfiguration.java @@ -27,6 +27,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; */ @AutoConfiguration @ConditionalOnProperty("unique") -public class UniqueShortNameAutoConfiguration { +public final class UniqueShortNameAutoConfiguration { } diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/first/SampleAutoConfiguration.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/first/SampleAutoConfiguration.java index 7ec5d6cbd1a..e4920d25b06 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/first/SampleAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/first/SampleAutoConfiguration.java @@ -28,10 +28,10 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration("autoConfigOne") @ConditionalOnProperty("sample.first") -public class SampleAutoConfiguration { +public final class SampleAutoConfiguration { @Bean - public String one() { + String one() { return "one"; } diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/second/SampleAutoConfiguration.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/second/SampleAutoConfiguration.java index 53a2476a298..ebc0d7c6c6b 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/second/SampleAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/config/second/SampleAutoConfiguration.java @@ -28,10 +28,10 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration("autoConfigTwo") @ConditionalOnProperty("sample.second") -public class SampleAutoConfiguration { +public final class SampleAutoConfiguration { @Bean - public String two() { + String two() { return "two"; } diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/context/filtersample/ExampleFilteredAutoConfiguration.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/context/filtersample/ExampleFilteredAutoConfiguration.java index 24a9ebe5411..0d290716b75 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/context/filtersample/ExampleFilteredAutoConfiguration.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/context/filtersample/ExampleFilteredAutoConfiguration.java @@ -20,10 +20,10 @@ import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.context.annotation.Bean; @AutoConfiguration -public class ExampleFilteredAutoConfiguration { +public final class ExampleFilteredAutoConfiguration { @Bean - public String anotherExample() { + String anotherExample() { return "fail"; } diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggerTests.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggerTests.java index d431cf45973..2313050b468 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggerTests.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggerTests.java @@ -135,13 +135,13 @@ class ConditionEvaluationReportLoggerTests { @AutoConfiguration @ConditionalOnProperty(name = "com.example.property", matchIfMissing = true) - static class MatchingAutoConfiguration { + public static final class MatchingAutoConfiguration { } @AutoConfiguration @ConditionalOnBean(Duration.class) - static class NonMatchingAutoConfiguration { + public static final class NonMatchingAutoConfiguration { } diff --git a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggingListenerTests.java b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggingListenerTests.java index 6bad90812f0..06914bb1ec1 100644 --- a/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggingListenerTests.java +++ b/core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggingListenerTests.java @@ -148,18 +148,18 @@ class ConditionEvaluationReportLoggingListenerTests { @AutoConfiguration @ConditionalOnProperty(name = "com.example.property", matchIfMissing = true) - static class MatchingAutoConfiguration { + public static final class MatchingAutoConfiguration { } @AutoConfiguration @ConditionalOnBean(Duration.class) - static class NonMatchingAutoConfiguration { + public static final class NonMatchingAutoConfiguration { } @AutoConfiguration - static class UnconditionalAutoConfiguration { + public static final class UnconditionalAutoConfiguration { @Bean String example() { diff --git a/core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/properties/TestcontainersPropertySourceAutoConfiguration.java b/core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/properties/TestcontainersPropertySourceAutoConfiguration.java index 9485742eb7b..98584bbe60e 100644 --- a/core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/properties/TestcontainersPropertySourceAutoConfiguration.java +++ b/core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/properties/TestcontainersPropertySourceAutoConfiguration.java @@ -41,7 +41,7 @@ import org.springframework.test.context.support.DynamicPropertyRegistrarBeanInit @AutoConfiguration @Order(Ordered.HIGHEST_PRECEDENCE) @ConditionalOnClass(DynamicPropertyRegistry.class) -public class TestcontainersPropertySourceAutoConfiguration { +public final class TestcontainersPropertySourceAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfiguration.java b/core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfiguration.java index 61ba8be8557..e8763af039f 100644 --- a/core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfiguration.java +++ b/core/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/service/connection/ServiceConnectionAutoConfiguration.java @@ -34,9 +34,6 @@ import org.springframework.core.Ordered; @AutoConfiguration @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @Import(ServiceConnectionAutoConfigurationRegistrar.class) -public class ServiceConnectionAutoConfiguration { - - ServiceConnectionAutoConfiguration() { - } +public final class ServiceConnectionAutoConfiguration { } diff --git a/integration-test/spring-boot-server-integration-tests/spring-boot-server-tests-app/src/main/java/com/autoconfig/ExampleAutoConfiguration.java b/integration-test/spring-boot-server-integration-tests/spring-boot-server-tests-app/src/main/java/com/autoconfig/ExampleAutoConfiguration.java index a88fc515eba..6d424222d49 100644 --- a/integration-test/spring-boot-server-integration-tests/spring-boot-server-tests-app/src/main/java/com/autoconfig/ExampleAutoConfiguration.java +++ b/integration-test/spring-boot-server-integration-tests/spring-boot-server-tests-app/src/main/java/com/autoconfig/ExampleAutoConfiguration.java @@ -31,18 +31,18 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; @AutoConfiguration -public class ExampleAutoConfiguration { +public final class ExampleAutoConfiguration { @Bean @ConditionalOnWarDeployment - public ServletRegistrationBean onWarTestServlet() { + ServletRegistrationBean onWarTestServlet() { ServletRegistrationBean registration = new ServletRegistrationBean<>(new TestServlet()); registration.addUrlMappings("/conditionalOnWar"); return registration; } @Bean - public ServletRegistrationBean testServlet() { + ServletRegistrationBean testServlet() { ServletRegistrationBean registration = new ServletRegistrationBean<>(new TestServlet()); registration.addUrlMappings("/always"); return registration; diff --git a/module/spring-boot-activemq/src/main/java/org/springframework/boot/activemq/autoconfigure/ActiveMQAutoConfiguration.java b/module/spring-boot-activemq/src/main/java/org/springframework/boot/activemq/autoconfigure/ActiveMQAutoConfiguration.java index 215fe1aa4d2..4723918e1b3 100644 --- a/module/spring-boot-activemq/src/main/java/org/springframework/boot/activemq/autoconfigure/ActiveMQAutoConfiguration.java +++ b/module/spring-boot-activemq/src/main/java/org/springframework/boot/activemq/autoconfigure/ActiveMQAutoConfiguration.java @@ -46,7 +46,7 @@ import org.springframework.context.annotation.Import; @ConditionalOnMissingBean(ConnectionFactory.class) @EnableConfigurationProperties({ ActiveMQProperties.class, JmsProperties.class }) @Import({ ActiveMQXAConnectionFactoryConfiguration.class, ActiveMQConnectionFactoryConfiguration.class }) -public class ActiveMQAutoConfiguration { +public final class ActiveMQAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditAutoConfiguration.java index c48aa60ed7b..c3bdd1824d6 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditAutoConfiguration.java @@ -42,25 +42,25 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration @ConditionalOnBean(AuditEventRepository.class) @ConditionalOnBooleanProperty(name = "management.auditevents.enabled", matchIfMissing = true) -public class AuditAutoConfiguration { +public final class AuditAutoConfiguration { @Bean @ConditionalOnMissingBean(AbstractAuditListener.class) - public AuditListener auditListener(AuditEventRepository auditEventRepository) { + AuditListener auditListener(AuditEventRepository auditEventRepository) { return new AuditListener(auditEventRepository); } @Bean @ConditionalOnClass(name = "org.springframework.security.authentication.event.AbstractAuthenticationEvent") @ConditionalOnMissingBean(AbstractAuthenticationAuditListener.class) - public AuthenticationAuditListener authenticationAuditListener() { + AuthenticationAuditListener authenticationAuditListener() { return new AuthenticationAuditListener(); } @Bean @ConditionalOnClass(name = "org.springframework.security.access.event.AbstractAuthorizationEvent") @ConditionalOnMissingBean(AbstractAuthorizationAuditListener.class) - public AuthorizationAuditListener authorizationAuditListener() { + AuthorizationAuditListener authorizationAuditListener() { return new AuthorizationAuditListener(); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditEventsEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditEventsEndpointAutoConfiguration.java index 0e66f4a2958..3c7a5eb796c 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditEventsEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditEventsEndpointAutoConfiguration.java @@ -35,12 +35,12 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration(after = AuditAutoConfiguration.class) @ConditionalOnAvailableEndpoint(AuditEventsEndpoint.class) -public class AuditEventsEndpointAutoConfiguration { +public final class AuditEventsEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnBean(AuditEventRepository.class) - public AuditEventsEndpoint auditEventsEndpoint(AuditEventRepository auditEventRepository) { + AuditEventsEndpoint auditEventsEndpoint(AuditEventRepository auditEventRepository) { return new AuditEventsEndpoint(auditEventRepository); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfiguration.java index 20f9e23fc37..93510607594 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityHealthContributorAutoConfiguration.java @@ -38,20 +38,19 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration(after = ApplicationAvailabilityAutoConfiguration.class) @ConditionalOnClass(Health.class) -public class AvailabilityHealthContributorAutoConfiguration { +public final class AvailabilityHealthContributorAutoConfiguration { @Bean @ConditionalOnMissingBean(name = "livenessStateHealthIndicator") @ConditionalOnBooleanProperty("management.health.livenessstate.enabled") - public LivenessStateHealthIndicator livenessStateHealthIndicator(ApplicationAvailability applicationAvailability) { + LivenessStateHealthIndicator livenessStateHealthIndicator(ApplicationAvailability applicationAvailability) { return new LivenessStateHealthIndicator(applicationAvailability); } @Bean @ConditionalOnMissingBean(name = "readinessStateHealthIndicator") @ConditionalOnBooleanProperty("management.health.readinessstate.enabled") - public ReadinessStateHealthIndicator readinessStateHealthIndicator( - ApplicationAvailability applicationAvailability) { + ReadinessStateHealthIndicator readinessStateHealthIndicator(ApplicationAvailability applicationAvailability) { return new ReadinessStateHealthIndicator(applicationAvailability); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java index 756338c4e78..7ec33ba0790 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java @@ -46,23 +46,22 @@ import org.springframework.core.type.AnnotatedTypeMetadata; ApplicationAvailabilityAutoConfiguration.class }) @ConditionalOnClass(Health.class) @Conditional(AvailabilityProbesAutoConfiguration.ProbesCondition.class) -public class AvailabilityProbesAutoConfiguration { +public final class AvailabilityProbesAutoConfiguration { @Bean @ConditionalOnMissingBean(name = "livenessStateHealthIndicator") - public LivenessStateHealthIndicator livenessStateHealthIndicator(ApplicationAvailability applicationAvailability) { + LivenessStateHealthIndicator livenessStateHealthIndicator(ApplicationAvailability applicationAvailability) { return new LivenessStateHealthIndicator(applicationAvailability); } @Bean @ConditionalOnMissingBean(name = "readinessStateHealthIndicator") - public ReadinessStateHealthIndicator readinessStateHealthIndicator( - ApplicationAvailability applicationAvailability) { + ReadinessStateHealthIndicator readinessStateHealthIndicator(ApplicationAvailability applicationAvailability) { return new ReadinessStateHealthIndicator(applicationAvailability); } @Bean - public AvailabilityProbesHealthEndpointGroupsPostProcessor availabilityProbesHealthEndpointGroupsPostProcessor( + AvailabilityProbesHealthEndpointGroupsPostProcessor availabilityProbesHealthEndpointGroupsPostProcessor( Environment environment) { return new AvailabilityProbesHealthEndpointGroupsPostProcessor(environment); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/BeansEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/BeansEndpointAutoConfiguration.java index 400b5fa104f..ba8f46a10bd 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/BeansEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/BeansEndpointAutoConfiguration.java @@ -32,11 +32,11 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration @ConditionalOnAvailableEndpoint(BeansEndpoint.class) -public class BeansEndpointAutoConfiguration { +public final class BeansEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public BeansEndpoint beansEndpoint(ConfigurableApplicationContext applicationContext) { + BeansEndpoint beansEndpoint(ConfigurableApplicationContext applicationContext) { return new BeansEndpoint(applicationContext); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpointAutoConfiguration.java index b73e8ef0d46..a863f78f5d2 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpointAutoConfiguration.java @@ -33,11 +33,11 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration @ConditionalOnAvailableEndpoint(ConditionsReportEndpoint.class) -public class ConditionsReportEndpointAutoConfiguration { +public final class ConditionsReportEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean(search = SearchStrategy.CURRENT) - public ConditionsReportEndpoint conditionsReportEndpoint(ConfigurableApplicationContext context) { + ConditionsReportEndpoint conditionsReportEndpoint(ConfigurableApplicationContext context) { return new ConditionsReportEndpoint(context); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/ShutdownEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/ShutdownEndpointAutoConfiguration.java index f360ca6aa5c..c9da0db6bae 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/ShutdownEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/ShutdownEndpointAutoConfiguration.java @@ -31,11 +31,11 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration @ConditionalOnAvailableEndpoint(ShutdownEndpoint.class) -public class ShutdownEndpointAutoConfiguration { +public final class ShutdownEndpointAutoConfiguration { @Bean(destroyMethod = "") @ConditionalOnMissingBean - public ShutdownEndpoint shutdownEndpoint() { + ShutdownEndpoint shutdownEndpoint() { return new ShutdownEndpoint(); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/properties/ConfigurationPropertiesReportEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/properties/ConfigurationPropertiesReportEndpointAutoConfiguration.java index 7ab1f2720f9..fb86aa7fcd7 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/properties/ConfigurationPropertiesReportEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/properties/ConfigurationPropertiesReportEndpointAutoConfiguration.java @@ -41,11 +41,11 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration @ConditionalOnAvailableEndpoint(ConfigurationPropertiesReportEndpoint.class) @EnableConfigurationProperties(ConfigurationPropertiesReportEndpointProperties.class) -public class ConfigurationPropertiesReportEndpointAutoConfiguration { +public final class ConfigurationPropertiesReportEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public ConfigurationPropertiesReportEndpoint configurationPropertiesReportEndpoint( + ConfigurationPropertiesReportEndpoint configurationPropertiesReportEndpoint( ConfigurationPropertiesReportEndpointProperties properties, ObjectProvider sanitizingFunctions) { return new ConfigurationPropertiesReportEndpoint(sanitizingFunctions.orderedStream().toList(), @@ -56,7 +56,7 @@ public class ConfigurationPropertiesReportEndpointAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnBean(ConfigurationPropertiesReportEndpoint.class) @ConditionalOnAvailableEndpoint(exposure = EndpointExposure.WEB) - public ConfigurationPropertiesReportEndpointWebExtension configurationPropertiesReportEndpointWebExtension( + ConfigurationPropertiesReportEndpointWebExtension configurationPropertiesReportEndpointWebExtension( ConfigurationPropertiesReportEndpoint configurationPropertiesReportEndpoint, ConfigurationPropertiesReportEndpointProperties properties) { return new ConfigurationPropertiesReportEndpointWebExtension(configurationPropertiesReportEndpoint, diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.java index 17484f1f252..e8c1186c328 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.java @@ -45,12 +45,11 @@ import org.springframework.core.env.Environment; * @since 2.0.0 */ @AutoConfiguration -public class EndpointAutoConfiguration { +public final class EndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public ParameterValueMapper endpointOperationParameterMapper( - @EndpointConverter ObjectProvider> converters, + ParameterValueMapper endpointOperationParameterMapper(@EndpointConverter ObjectProvider> converters, @EndpointConverter ObjectProvider genericConverters) { ConversionService conversionService = createConversionService(converters.orderedStream().toList(), genericConverters.orderedStream().toList()); @@ -70,7 +69,7 @@ public class EndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public CachingOperationInvokerAdvisor endpointCachingOperationInvokerAdvisor(Environment environment) { + CachingOperationInvokerAdvisor endpointCachingOperationInvokerAdvisor(Environment environment) { return new CachingOperationInvokerAdvisor(new EndpointIdTimeToLivePropertyFunction(environment)); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jackson/JacksonEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jackson/JacksonEndpointAutoConfiguration.java index 9ddc445e0f5..1e2b62ef515 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jackson/JacksonEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jackson/JacksonEndpointAutoConfiguration.java @@ -41,14 +41,14 @@ import org.springframework.util.ClassUtils; */ @AutoConfiguration @SuppressWarnings("removal") -public class JacksonEndpointAutoConfiguration { +public final class JacksonEndpointAutoConfiguration { private static final String CONTRIBUTED_HEALTH = "org.springframework.boot.health.contributor.ContributedHealth"; @Bean @ConditionalOnBooleanProperty(name = "management.endpoints.jackson.isolated-object-mapper", matchIfMissing = true) @ConditionalOnClass({ ObjectMapper.class, Jackson2ObjectMapperBuilder.class }) - public EndpointObjectMapper endpointObjectMapper() { + EndpointObjectMapper endpointObjectMapper() { ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.json() .featuresToEnable(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY) .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java index a3574babde8..34228701f8c 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java @@ -64,7 +64,7 @@ import org.springframework.util.ObjectUtils; @AutoConfiguration(after = { JmxAutoConfiguration.class, EndpointAutoConfiguration.class }) @EnableConfigurationProperties({ JmxEndpointProperties.class, JmxProperties.class }) @ConditionalOnBooleanProperty("spring.jmx.enabled") -public class JmxEndpointAutoConfiguration { +public final class JmxEndpointAutoConfiguration { private final ApplicationContext applicationContext; @@ -72,7 +72,7 @@ public class JmxEndpointAutoConfiguration { private final JmxProperties jmxProperties; - public JmxEndpointAutoConfiguration(ApplicationContext applicationContext, JmxEndpointProperties properties, + JmxEndpointAutoConfiguration(ApplicationContext applicationContext, JmxEndpointProperties properties, JmxProperties jmxProperties) { this.applicationContext = applicationContext; this.properties = properties; @@ -81,7 +81,7 @@ public class JmxEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean(JmxEndpointsSupplier.class) - public JmxEndpointDiscoverer jmxAnnotationEndpointDiscoverer(ParameterValueMapper parameterValueMapper, + JmxEndpointDiscoverer jmxAnnotationEndpointDiscoverer(ParameterValueMapper parameterValueMapper, ObjectProvider invokerAdvisors, ObjectProvider> endpointFilters, ObjectProvider> operationFilters) { @@ -92,16 +92,15 @@ public class JmxEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean(value = EndpointObjectNameFactory.class, search = SearchStrategy.CURRENT) - public DefaultEndpointObjectNameFactory endpointObjectNameFactory(MBeanServer mBeanServer) { + DefaultEndpointObjectNameFactory endpointObjectNameFactory(MBeanServer mBeanServer) { String contextId = ObjectUtils.getIdentityHexString(this.applicationContext); return new DefaultEndpointObjectNameFactory(this.properties, this.jmxProperties, mBeanServer, contextId); } @Bean @ConditionalOnSingleCandidate(MBeanServer.class) - public JmxEndpointExporter jmxMBeanExporter(MBeanServer mBeanServer, - EndpointObjectNameFactory endpointObjectNameFactory, ObjectProvider objectMapper, - JmxEndpointsSupplier jmxEndpointsSupplier) { + JmxEndpointExporter jmxMBeanExporter(MBeanServer mBeanServer, EndpointObjectNameFactory endpointObjectNameFactory, + ObjectProvider objectMapper, JmxEndpointsSupplier jmxEndpointsSupplier) { JmxOperationResponseMapper responseMapper = new JacksonJmxOperationResponseMapper( objectMapper.getIfAvailable()); return new JmxEndpointExporter(mBeanServer, endpointObjectNameFactory, responseMapper, @@ -110,7 +109,7 @@ public class JmxEndpointAutoConfiguration { } @Bean - public IncludeExcludeEndpointFilter jmxIncludeExcludePropertyEndpointFilter() { + IncludeExcludeEndpointFilter jmxIncludeExcludePropertyEndpointFilter() { JmxEndpointProperties.Exposure exposure = this.properties.getExposure(); return new IncludeExcludeEndpointFilter<>(ExposableJmxEndpoint.class, exposure.getInclude(), exposure.getExclude(), EndpointExposure.JMX.getDefaultIncludes()); diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java index 4f12c792435..18a96d3aaab 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java @@ -65,31 +65,31 @@ import org.springframework.util.StringUtils; @AutoConfiguration(after = EndpointAutoConfiguration.class) @ConditionalOnWebApplication @EnableConfigurationProperties(WebEndpointProperties.class) -public class WebEndpointAutoConfiguration { +public final class WebEndpointAutoConfiguration { private final ApplicationContext applicationContext; private final WebEndpointProperties properties; - public WebEndpointAutoConfiguration(ApplicationContext applicationContext, WebEndpointProperties properties) { + WebEndpointAutoConfiguration(ApplicationContext applicationContext, WebEndpointProperties properties) { this.applicationContext = applicationContext; this.properties = properties; } @Bean - public PathMapper webEndpointPathMapper() { + PathMapper webEndpointPathMapper() { return new MappingWebEndpointPathMapper(this.properties.getPathMapping()); } @Bean @ConditionalOnMissingBean - public EndpointMediaTypes endpointMediaTypes() { + EndpointMediaTypes endpointMediaTypes() { return EndpointMediaTypes.DEFAULT; } @Bean @ConditionalOnMissingBean(WebEndpointsSupplier.class) - public WebEndpointDiscoverer webEndpointDiscoverer(ParameterValueMapper parameterValueMapper, + WebEndpointDiscoverer webEndpointDiscoverer(ParameterValueMapper parameterValueMapper, EndpointMediaTypes endpointMediaTypes, ObjectProvider endpointPathMappers, ObjectProvider additionalPathsMappers, ObjectProvider invokerAdvisors, @@ -104,7 +104,7 @@ public class WebEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean(org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointsSupplier.class) @SuppressWarnings({ "deprecation", "removal" }) - public org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer controllerEndpointDiscoverer( + org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer controllerEndpointDiscoverer( ObjectProvider endpointPathMappers, ObjectProvider>> filters) { return new org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer( @@ -114,7 +114,7 @@ public class WebEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public PathMappedEndpoints pathMappedEndpoints(Collection> endpointSuppliers) { + PathMappedEndpoints pathMappedEndpoints(Collection> endpointSuppliers) { String basePath = this.properties.getBasePath(); PathMappedEndpoints pathMappedEndpoints = new PathMappedEndpoints(basePath, endpointSuppliers); if ((!StringUtils.hasText(basePath) || "/".equals(basePath)) @@ -144,7 +144,7 @@ public class WebEndpointAutoConfiguration { } @Bean - public IncludeExcludeEndpointFilter webExposeExcludePropertyEndpointFilter() { + IncludeExcludeEndpointFilter webExposeExcludePropertyEndpointFilter() { WebEndpointProperties.Exposure exposure = this.properties.getExposure(); return new IncludeExcludeEndpointFilter<>(ExposableWebEndpoint.class, exposure.getInclude(), exposure.getExclude(), EndpointExposure.WEB.getDefaultIncludes()); @@ -152,7 +152,7 @@ public class WebEndpointAutoConfiguration { @Bean @SuppressWarnings("removal") - public IncludeExcludeEndpointFilter controllerExposeExcludePropertyEndpointFilter() { + IncludeExcludeEndpointFilter controllerExposeExcludePropertyEndpointFilter() { WebEndpointProperties.Exposure exposure = this.properties.getExposure(); return new IncludeExcludeEndpointFilter<>( org.springframework.boot.actuate.endpoint.web.annotation.ExposableControllerEndpoint.class, diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/env/EnvironmentEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/env/EnvironmentEndpointAutoConfiguration.java index 46d90cef09e..fbd6edafd4c 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/env/EnvironmentEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/env/EnvironmentEndpointAutoConfiguration.java @@ -40,11 +40,11 @@ import org.springframework.core.env.Environment; @AutoConfiguration @ConditionalOnAvailableEndpoint(EnvironmentEndpoint.class) @EnableConfigurationProperties(EnvironmentEndpointProperties.class) -public class EnvironmentEndpointAutoConfiguration { +public final class EnvironmentEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public EnvironmentEndpoint environmentEndpoint(Environment environment, EnvironmentEndpointProperties properties, + EnvironmentEndpoint environmentEndpoint(Environment environment, EnvironmentEndpointProperties properties, ObjectProvider sanitizingFunctions) { return new EnvironmentEndpoint(environment, sanitizingFunctions.orderedStream().toList(), properties.getShowValues()); @@ -54,7 +54,7 @@ public class EnvironmentEndpointAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnBean(EnvironmentEndpoint.class) @ConditionalOnAvailableEndpoint(exposure = EndpointExposure.WEB) - public EnvironmentEndpointWebExtension environmentEndpointWebExtension(EnvironmentEndpoint environmentEndpoint, + EnvironmentEndpointWebExtension environmentEndpointWebExtension(EnvironmentEndpoint environmentEndpoint, EnvironmentEndpointProperties properties) { return new EnvironmentEndpointWebExtension(environmentEndpoint, properties.getShowValues(), properties.getRoles()); diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java index adf59f9d0e6..cae59b24c86 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java @@ -43,6 +43,6 @@ import org.springframework.context.annotation.Import; @EnableConfigurationProperties(HealthEndpointProperties.class) @Import({ HealthEndpointConfiguration.class, HealthEndpointWebExtensionConfiguration.class, HealthEndpointReactiveWebExtensionConfiguration.class }) -public class HealthEndpointAutoConfiguration { +public final class HealthEndpointAutoConfiguration { } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java index 16f8a7841f0..9d158b2fa96 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java @@ -50,7 +50,7 @@ import org.springframework.core.env.ConfigurableEnvironment; */ @AutoConfiguration(after = ProjectInfoAutoConfiguration.class) @EnableConfigurationProperties(InfoContributorProperties.class) -public class InfoContributorAutoConfiguration { +public final class InfoContributorAutoConfiguration { /** * The default order for the core {@link InfoContributor} beans. @@ -60,7 +60,7 @@ public class InfoContributorAutoConfiguration { @Bean @ConditionalOnEnabledInfoContributor(value = "env", fallback = InfoContributorFallback.DISABLE) @Order(DEFAULT_ORDER) - public EnvironmentInfoContributor envInfoContributor(ConfigurableEnvironment environment) { + EnvironmentInfoContributor envInfoContributor(ConfigurableEnvironment environment) { return new EnvironmentInfoContributor(environment); } @@ -69,7 +69,7 @@ public class InfoContributorAutoConfiguration { @ConditionalOnSingleCandidate(GitProperties.class) @ConditionalOnMissingBean @Order(DEFAULT_ORDER) - public GitInfoContributor gitInfoContributor(GitProperties gitProperties, + GitInfoContributor gitInfoContributor(GitProperties gitProperties, InfoContributorProperties infoContributorProperties) { return new GitInfoContributor(gitProperties, infoContributorProperties.getGit().getMode()); } @@ -78,28 +78,28 @@ public class InfoContributorAutoConfiguration { @ConditionalOnEnabledInfoContributor("build") @ConditionalOnSingleCandidate(BuildProperties.class) @Order(DEFAULT_ORDER) - public InfoContributor buildInfoContributor(BuildProperties buildProperties) { + InfoContributor buildInfoContributor(BuildProperties buildProperties) { return new BuildInfoContributor(buildProperties); } @Bean @ConditionalOnEnabledInfoContributor(value = "java", fallback = InfoContributorFallback.DISABLE) @Order(DEFAULT_ORDER) - public JavaInfoContributor javaInfoContributor() { + JavaInfoContributor javaInfoContributor() { return new JavaInfoContributor(); } @Bean @ConditionalOnEnabledInfoContributor(value = "os", fallback = InfoContributorFallback.DISABLE) @Order(DEFAULT_ORDER) - public OsInfoContributor osInfoContributor() { + OsInfoContributor osInfoContributor() { return new OsInfoContributor(); } @Bean @ConditionalOnEnabledInfoContributor(value = "process", fallback = InfoContributorFallback.DISABLE) @Order(DEFAULT_ORDER) - public ProcessInfoContributor processInfoContributor() { + ProcessInfoContributor processInfoContributor() { return new ProcessInfoContributor(); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java index 644c6b195f0..beb5d65e1db 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java @@ -33,11 +33,11 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration(after = InfoContributorAutoConfiguration.class) @ConditionalOnAvailableEndpoint(InfoEndpoint.class) -public class InfoEndpointAutoConfiguration { +public final class InfoEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public InfoEndpoint infoEndpoint(ObjectProvider infoContributors) { + InfoEndpoint infoEndpoint(ObjectProvider infoContributors) { return new InfoEndpoint(infoContributors.orderedStream().toList()); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java index 1b14d535113..bf663a320e8 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfiguration.java @@ -44,13 +44,12 @@ import org.springframework.util.StringUtils; @AutoConfiguration @ConditionalOnAvailableEndpoint(LogFileWebEndpoint.class) @EnableConfigurationProperties(LogFileWebEndpointProperties.class) -public class LogFileWebEndpointAutoConfiguration { +public final class LogFileWebEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean @Conditional(LogFileCondition.class) - public LogFileWebEndpoint logFileWebEndpoint(ObjectProvider logFile, - LogFileWebEndpointProperties properties) { + LogFileWebEndpoint logFileWebEndpoint(ObjectProvider logFile, LogFileWebEndpointProperties properties) { return new LogFileWebEndpoint(logFile.getIfAvailable(), properties.getExternalFile()); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LoggersEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LoggersEndpointAutoConfiguration.java index ad618084c19..cfe91d0b438 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LoggersEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LoggersEndpointAutoConfiguration.java @@ -41,14 +41,13 @@ import org.springframework.core.type.AnnotatedTypeMetadata; */ @AutoConfiguration @ConditionalOnAvailableEndpoint(LoggersEndpoint.class) -public class LoggersEndpointAutoConfiguration { +public final class LoggersEndpointAutoConfiguration { @Bean @ConditionalOnBean(LoggingSystem.class) @Conditional(OnEnabledLoggingSystemCondition.class) @ConditionalOnMissingBean - public LoggersEndpoint loggersEndpoint(LoggingSystem loggingSystem, - ObjectProvider springBootLoggerGroups) { + LoggersEndpoint loggersEndpoint(LoggingSystem loggingSystem, ObjectProvider springBootLoggerGroups) { return new LoggersEndpoint(loggingSystem, springBootLoggerGroups.getIfAvailable(LoggerGroups::new)); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java index 9287d46a756..d43e161057b 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java @@ -31,11 +31,11 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration @ConditionalOnAvailableEndpoint(HeapDumpWebEndpoint.class) -public class HeapDumpWebEndpointAutoConfiguration { +public final class HeapDumpWebEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public HeapDumpWebEndpoint heapDumpWebEndpoint() { + HeapDumpWebEndpoint heapDumpWebEndpoint() { return new HeapDumpWebEndpoint(); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/ThreadDumpEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/ThreadDumpEndpointAutoConfiguration.java index c6d8b180074..a23d9059b15 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/ThreadDumpEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/ThreadDumpEndpointAutoConfiguration.java @@ -31,11 +31,11 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration @ConditionalOnAvailableEndpoint(ThreadDumpEndpoint.class) -public class ThreadDumpEndpointAutoConfiguration { +public final class ThreadDumpEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public ThreadDumpEndpoint dumpEndpoint() { + ThreadDumpEndpoint dumpEndpoint() { return new ThreadDumpEndpoint(); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/sbom/SbomEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/sbom/SbomEndpointAutoConfiguration.java index db56b053505..70c698ef191 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/sbom/SbomEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/sbom/SbomEndpointAutoConfiguration.java @@ -38,7 +38,7 @@ import org.springframework.core.io.ResourceLoader; @AutoConfiguration @ConditionalOnAvailableEndpoint(SbomEndpoint.class) @EnableConfigurationProperties(SbomProperties.class) -public class SbomEndpointAutoConfiguration { +public final class SbomEndpointAutoConfiguration { private final SbomProperties properties; diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java index f04b336824e..b0d76baeb53 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java @@ -33,11 +33,11 @@ import org.springframework.scheduling.config.ScheduledTaskHolder; */ @AutoConfiguration @ConditionalOnAvailableEndpoint(ScheduledTasksEndpoint.class) -public class ScheduledTasksEndpointAutoConfiguration { +public final class ScheduledTasksEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public ScheduledTasksEndpoint scheduledTasksEndpoint(ObjectProvider holders) { + ScheduledTasksEndpoint scheduledTasksEndpoint(ObjectProvider holders) { return new ScheduledTasksEndpoint(holders.orderedStream().toList()); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfiguration.java index a66595ab34d..2aa8691dbcd 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(Health.class) @ConditionalOnEnabledHealthIndicator("ssl") @EnableConfigurationProperties(SslHealthIndicatorProperties.class) -public class SslHealthContributorAutoConfiguration { +public final class SslHealthContributorAutoConfiguration { @Bean @ConditionalOnMissingBean(name = "sslHealthIndicator") diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/startup/StartupEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/startup/StartupEndpointAutoConfiguration.java index 6c17acc2d51..c2df8322e3a 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/startup/StartupEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/startup/StartupEndpointAutoConfiguration.java @@ -40,11 +40,11 @@ import org.springframework.core.type.AnnotatedTypeMetadata; @AutoConfiguration @ConditionalOnAvailableEndpoint(StartupEndpoint.class) @Conditional(StartupEndpointAutoConfiguration.ApplicationStartupCondition.class) -public class StartupEndpointAutoConfiguration { +public final class StartupEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public StartupEndpoint startupEndpoint(BufferingApplicationStartup applicationStartup) { + StartupEndpoint startupEndpoint(BufferingApplicationStartup applicationStartup) { return new StartupEndpoint(applicationStartup); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfiguration.java index 59d50cfe047..fd35fdeead3 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/system/DiskSpaceHealthContributorAutoConfiguration.java @@ -39,11 +39,11 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(Health.class) @ConditionalOnEnabledHealthIndicator("diskspace") @EnableConfigurationProperties(DiskSpaceHealthIndicatorProperties.class) -public class DiskSpaceHealthContributorAutoConfiguration { +public final class DiskSpaceHealthContributorAutoConfiguration { @Bean @ConditionalOnMissingBean(name = "diskSpaceHealthIndicator") - public DiskSpaceHealthIndicator diskSpaceHealthIndicator(DiskSpaceHealthIndicatorProperties properties) { + DiskSpaceHealthIndicator diskSpaceHealthIndicator(DiskSpaceHealthIndicatorProperties properties) { return new DiskSpaceHealthIndicator(properties.getPath(), properties.getThreshold()); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/exchanges/HttpExchangesEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/exchanges/HttpExchangesEndpointAutoConfiguration.java index 0c285099c42..703dde8b43b 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/exchanges/HttpExchangesEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/exchanges/HttpExchangesEndpointAutoConfiguration.java @@ -34,12 +34,12 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration @ConditionalOnAvailableEndpoint(HttpExchangesEndpoint.class) -public class HttpExchangesEndpointAutoConfiguration { +public final class HttpExchangesEndpointAutoConfiguration { @Bean @ConditionalOnBean(HttpExchangeRepository.class) @ConditionalOnMissingBean - public HttpExchangesEndpoint httpExchangesEndpoint(HttpExchangeRepository exchangeRepository) { + HttpExchangesEndpoint httpExchangesEndpoint(HttpExchangeRepository exchangeRepository) { return new HttpExchangesEndpoint(exchangeRepository); } diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java index e3bc2311966..881ca5a0d9d 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/mappings/MappingsEndpointAutoConfiguration.java @@ -33,7 +33,7 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration @ConditionalOnAvailableEndpoint(MappingsEndpoint.class) -public class MappingsEndpointAutoConfiguration { +public final class MappingsEndpointAutoConfiguration { @Bean MappingsEndpoint mappingsEndpoint(ApplicationContext applicationContext, diff --git a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java index 3fea3bc9029..381565d240b 100644 --- a/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java +++ b/module/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java @@ -47,7 +47,7 @@ import org.springframework.util.Assert; */ @AutoConfiguration @AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE) -public class ManagementContextAutoConfiguration { +public final class ManagementContextAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnManagementPort(ManagementPortType.SAME) diff --git a/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/RabbitAutoConfiguration.java b/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/RabbitAutoConfiguration.java index 8780f1db85d..159245f42cf 100644 --- a/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/RabbitAutoConfiguration.java +++ b/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/RabbitAutoConfiguration.java @@ -77,7 +77,7 @@ import org.springframework.core.io.ResourceLoader; @ConditionalOnClass({ RabbitTemplate.class, Channel.class }) @EnableConfigurationProperties(RabbitProperties.class) @Import({ RabbitAnnotationDrivenConfiguration.class, RabbitStreamConfiguration.class }) -public class RabbitAutoConfiguration { +public final class RabbitAutoConfiguration { @Configuration(proxyBeanMethods = false) protected static class RabbitConnectionFactoryCreator { diff --git a/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfiguration.java b/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfiguration.java index 689e176dc30..0abccb7e34c 100644 --- a/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfiguration.java +++ b/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfiguration.java @@ -40,16 +40,16 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ RabbitHealthIndicator.class, RabbitTemplate.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(RabbitTemplate.class) @ConditionalOnEnabledHealthIndicator("rabbit") -public class RabbitHealthContributorAutoConfiguration +public final class RabbitHealthContributorAutoConfiguration extends CompositeHealthContributorConfiguration { - public RabbitHealthContributorAutoConfiguration() { + RabbitHealthContributorAutoConfiguration() { super(RabbitHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "rabbitHealthIndicator", "rabbitHealthContributor" }) - public HealthContributor rabbitHealthContributor(ConfigurableListableBeanFactory beanFactory) { + HealthContributor rabbitHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, RabbitTemplate.class); } diff --git a/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/metrics/RabbitMetricsAutoConfiguration.java b/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/metrics/RabbitMetricsAutoConfiguration.java index b5bd5ed3bf2..9b6f3c1314b 100644 --- a/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/metrics/RabbitMetricsAutoConfiguration.java +++ b/module/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/metrics/RabbitMetricsAutoConfiguration.java @@ -39,10 +39,10 @@ import org.springframework.context.annotation.Bean; after = RabbitAutoConfiguration.class) @ConditionalOnClass({ ConnectionFactory.class, AbstractConnectionFactory.class, MeterRegistry.class }) @ConditionalOnBean({ org.springframework.amqp.rabbit.connection.ConnectionFactory.class, MeterRegistry.class }) -public class RabbitMetricsAutoConfiguration { +public final class RabbitMetricsAutoConfiguration { @Bean - public static RabbitConnectionFactoryMetricsPostProcessor rabbitConnectionFactoryMetricsPostProcessor( + static RabbitConnectionFactoryMetricsPostProcessor rabbitConnectionFactoryMetricsPostProcessor( ApplicationContext applicationContext) { return new RabbitConnectionFactoryMetricsPostProcessor(applicationContext); } diff --git a/module/spring-boot-artemis/src/main/java/org/springframework/boot/artemis/autoconfigure/ArtemisAutoConfiguration.java b/module/spring-boot-artemis/src/main/java/org/springframework/boot/artemis/autoconfigure/ArtemisAutoConfiguration.java index 9a8dafd2dd8..9d06ea315be 100644 --- a/module/spring-boot-artemis/src/main/java/org/springframework/boot/artemis/autoconfigure/ArtemisAutoConfiguration.java +++ b/module/spring-boot-artemis/src/main/java/org/springframework/boot/artemis/autoconfigure/ArtemisAutoConfiguration.java @@ -49,7 +49,7 @@ import org.springframework.context.annotation.Import; @EnableConfigurationProperties({ ArtemisProperties.class, JmsProperties.class }) @Import({ ArtemisEmbeddedServerConfiguration.class, ArtemisXAConnectionFactoryConfiguration.class, ArtemisConnectionFactoryConfiguration.class }) -public class ArtemisAutoConfiguration { +public final class ArtemisAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-batch/src/main/java/org/springframework/boot/batch/autoconfigure/BatchAutoConfiguration.java b/module/spring-boot-batch/src/main/java/org/springframework/boot/batch/autoconfigure/BatchAutoConfiguration.java index 4a4141f4e19..b79de268f50 100644 --- a/module/spring-boot-batch/src/main/java/org/springframework/boot/batch/autoconfigure/BatchAutoConfiguration.java +++ b/module/spring-boot-batch/src/main/java/org/springframework/boot/batch/autoconfigure/BatchAutoConfiguration.java @@ -76,13 +76,12 @@ import org.springframework.util.StringUtils; @ConditionalOnMissingBean(value = DefaultBatchConfiguration.class, annotation = EnableBatchProcessing.class) @EnableConfigurationProperties(BatchProperties.class) @Import(DatabaseInitializationDependencyConfigurer.class) -public class BatchAutoConfiguration { +public final class BatchAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnBooleanProperty(name = "spring.batch.job.enabled", matchIfMissing = true) - public JobLauncherApplicationRunner jobLauncherApplicationRunner(JobOperator jobOperator, - BatchProperties properties) { + JobLauncherApplicationRunner jobLauncherApplicationRunner(JobOperator jobOperator, BatchProperties properties) { JobLauncherApplicationRunner runner = new JobLauncherApplicationRunner(jobOperator); String jobName = properties.getJob().getName(); if (StringUtils.hasText(jobName)) { @@ -93,7 +92,7 @@ public class BatchAutoConfiguration { @Bean @ConditionalOnMissingBean(ExitCodeGenerator.class) - public JobExecutionExitCodeGenerator jobExecutionExitCodeGenerator() { + JobExecutionExitCodeGenerator jobExecutionExitCodeGenerator() { return new JobExecutionExitCodeGenerator(); } diff --git a/module/spring-boot-batch/src/main/java/org/springframework/boot/batch/autoconfigure/observation/BatchObservationAutoConfiguration.java b/module/spring-boot-batch/src/main/java/org/springframework/boot/batch/autoconfigure/observation/BatchObservationAutoConfiguration.java index 02bc17990a5..372c7dc3aaf 100644 --- a/module/spring-boot-batch/src/main/java/org/springframework/boot/batch/autoconfigure/observation/BatchObservationAutoConfiguration.java +++ b/module/spring-boot-batch/src/main/java/org/springframework/boot/batch/autoconfigure/observation/BatchObservationAutoConfiguration.java @@ -36,7 +36,7 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration(afterName = "org.springframework.boot.observation.autoconfigure.ObservationAutoConfiguration") @ConditionalOnBean(ObservationRegistry.class) @ConditionalOnClass({ ObservationRegistry.class, BatchObservabilityBeanPostProcessor.class }) -public class BatchObservationAutoConfiguration { +public final class BatchObservationAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/CacheAutoConfiguration.java b/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/CacheAutoConfiguration.java index 10bcd6f2d5f..daea624630d 100644 --- a/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/CacheAutoConfiguration.java +++ b/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/CacheAutoConfiguration.java @@ -60,16 +60,16 @@ import org.springframework.util.Assert; @ConditionalOnMissingBean(value = CacheManager.class, name = "cacheResolver") @EnableConfigurationProperties(CacheProperties.class) @Import({ CacheConfigurationImportSelector.class, CacheManagerEntityManagerFactoryDependsOnConfiguration.class }) -public class CacheAutoConfiguration { +public final class CacheAutoConfiguration { @Bean @ConditionalOnMissingBean - public CacheManagerCustomizers cacheManagerCustomizers(ObjectProvider> customizers) { + CacheManagerCustomizers cacheManagerCustomizers(ObjectProvider> customizers) { return new CacheManagerCustomizers(customizers.orderedStream().toList()); } @Bean - public CacheManagerValidator cacheAutoConfigurationValidator(CacheProperties cacheProperties, + CacheManagerValidator cacheAutoConfigurationValidator(CacheProperties cacheProperties, ObjectProvider cacheManager) { return new CacheManagerValidator(cacheProperties, cacheManager); } diff --git a/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/endpoint/CachesEndpointAutoConfiguration.java b/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/endpoint/CachesEndpointAutoConfiguration.java index 2bcc5045554..87babcd6242 100644 --- a/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/endpoint/CachesEndpointAutoConfiguration.java +++ b/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/endpoint/CachesEndpointAutoConfiguration.java @@ -41,11 +41,11 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration(after = CacheAutoConfiguration.class) @ConditionalOnClass({ CacheManager.class, ConditionalOnAvailableEndpoint.class }) @ConditionalOnAvailableEndpoint(CachesEndpoint.class) -public class CachesEndpointAutoConfiguration { +public final class CachesEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public CachesEndpoint cachesEndpoint(ConfigurableListableBeanFactory beanFactory) { + CachesEndpoint cachesEndpoint(ConfigurableListableBeanFactory beanFactory) { return new CachesEndpoint( SimpleAutowireCandidateResolver.resolveAutowireCandidates(beanFactory, CacheManager.class)); } @@ -54,7 +54,7 @@ public class CachesEndpointAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnBean(CachesEndpoint.class) @ConditionalOnAvailableEndpoint(exposure = EndpointExposure.WEB) - public CachesEndpointWebExtension cachesEndpointWebExtension(CachesEndpoint cachesEndpoint) { + CachesEndpointWebExtension cachesEndpointWebExtension(CachesEndpoint cachesEndpoint) { return new CachesEndpointWebExtension(cachesEndpoint); } diff --git a/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/metrics/CacheMetricsAutoConfiguration.java b/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/metrics/CacheMetricsAutoConfiguration.java index 90a986fd713..8bf109da870 100644 --- a/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/metrics/CacheMetricsAutoConfiguration.java +++ b/module/spring-boot-cache/src/main/java/org/springframework/boot/cache/autoconfigure/metrics/CacheMetricsAutoConfiguration.java @@ -39,6 +39,6 @@ import org.springframework.context.annotation.Import; @ConditionalOnBean(CacheManager.class) @ConditionalOnClass(MeterRegistry.class) @Import({ CacheMeterBinderProvidersConfiguration.class, CacheMetricsRegistrarConfiguration.class }) -public class CacheMetricsAutoConfiguration { +public final class CacheMetricsAutoConfiguration { } diff --git a/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/CassandraAutoConfiguration.java b/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/CassandraAutoConfiguration.java index b6922c9fc9b..bf15c41f2f0 100644 --- a/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/CassandraAutoConfiguration.java +++ b/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/CassandraAutoConfiguration.java @@ -77,7 +77,7 @@ import org.springframework.util.StringUtils; @AutoConfiguration @ConditionalOnClass(CqlSession.class) @EnableConfigurationProperties(CassandraProperties.class) -public class CassandraAutoConfiguration { +public final class CassandraAutoConfiguration { private static final Config SPRING_BOOT_DEFAULTS; static { @@ -103,14 +103,14 @@ public class CassandraAutoConfiguration { @Bean @ConditionalOnMissingBean @Lazy - public CqlSession cassandraSession(CqlSessionBuilder cqlSessionBuilder) { + CqlSession cassandraSession(CqlSessionBuilder cqlSessionBuilder) { return cqlSessionBuilder.build(); } @Bean @ConditionalOnMissingBean @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) - public CqlSessionBuilder cassandraSessionBuilder(DriverConfigLoader driverConfigLoader, + CqlSessionBuilder cassandraSessionBuilder(DriverConfigLoader driverConfigLoader, CassandraConnectionDetails connectionDetails, ObjectProvider builderCustomizers) { CqlSessionBuilder builder = CqlSession.builder().withConfigLoader(driverConfigLoader); @@ -141,7 +141,7 @@ public class CassandraAutoConfiguration { @Bean(destroyMethod = "") @ConditionalOnMissingBean - public DriverConfigLoader cassandraDriverConfigLoader(CassandraConnectionDetails connectionDetails, + DriverConfigLoader cassandraDriverConfigLoader(CassandraConnectionDetails connectionDetails, ObjectProvider builderCustomizers) { ProgrammaticDriverConfigLoaderBuilder builder = new DefaultProgrammaticDriverConfigLoaderBuilder( () -> cassandraConfiguration(connectionDetails), DefaultDriverConfigLoader.DEFAULT_ROOT_PATH); diff --git a/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfiguration.java b/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfiguration.java index bac76210cfb..fa5fe2a710c 100644 --- a/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfiguration.java +++ b/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfiguration.java @@ -41,6 +41,6 @@ import org.springframework.context.annotation.Import; ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnEnabledHealthIndicator("cassandra") @Import(CassandraDriverConfiguration.class) -public class CassandraHealthContributorAutoConfiguration { +public final class CassandraHealthContributorAutoConfiguration { } diff --git a/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfiguration.java b/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfiguration.java index e87192fd5bf..af21d98035e 100644 --- a/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfiguration.java +++ b/module/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfiguration.java @@ -41,6 +41,6 @@ import org.springframework.context.annotation.Import; ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnEnabledHealthIndicator("cassandra") @Import(CassandraReactiveDriverConfiguration.class) -public class CassandraReactiveHealthContributorAutoConfiguration { +public final class CassandraReactiveHealthContributorAutoConfiguration { } diff --git a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfiguration.java b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfiguration.java index b65e3c5f79d..f4536811c4f 100644 --- a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfiguration.java +++ b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveActuatorAutoConfiguration.java @@ -80,7 +80,7 @@ import org.springframework.web.server.WebFilter; @ConditionalOnBooleanProperty(name = "management.cloudfoundry.enabled", matchIfMissing = true) @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnCloudPlatform(CloudPlatform.CLOUD_FOUNDRY) -public class CloudFoundryReactiveActuatorAutoConfiguration { +public final class CloudFoundryReactiveActuatorAutoConfiguration { private static final String BASE_PATH = "/cloudfoundryapplication"; @@ -88,7 +88,7 @@ public class CloudFoundryReactiveActuatorAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnAvailableEndpoint @ConditionalOnBean({ HealthEndpoint.class, ReactiveHealthEndpointWebExtension.class }) - public CloudFoundryReactiveHealthEndpointWebExtension cloudFoundryReactiveHealthEndpointWebExtension( + CloudFoundryReactiveHealthEndpointWebExtension cloudFoundryReactiveHealthEndpointWebExtension( ReactiveHealthEndpointWebExtension reactiveHealthEndpointWebExtension) { return new CloudFoundryReactiveHealthEndpointWebExtension(reactiveHealthEndpointWebExtension); } @@ -97,7 +97,7 @@ public class CloudFoundryReactiveActuatorAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnAvailableEndpoint @ConditionalOnBean({ InfoEndpoint.class, GitProperties.class }) - public CloudFoundryInfoEndpointWebExtension cloudFoundryInfoEndpointWebExtension(GitProperties properties, + CloudFoundryInfoEndpointWebExtension cloudFoundryInfoEndpointWebExtension(GitProperties properties, ObjectProvider infoContributors) { List contributors = infoContributors.orderedStream() .map((infoContributor) -> (infoContributor instanceof GitInfoContributor) @@ -108,7 +108,7 @@ public class CloudFoundryReactiveActuatorAutoConfiguration { @Bean @SuppressWarnings("removal") - public CloudFoundryWebFluxEndpointHandlerMapping cloudFoundryWebFluxEndpointHandlerMapping( + CloudFoundryWebFluxEndpointHandlerMapping cloudFoundryWebFluxEndpointHandlerMapping( ParameterValueMapper parameterMapper, EndpointMediaTypes endpointMediaTypes, WebClient.Builder webClientBuilder, org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointsSupplier controllerEndpointsSupplier, diff --git a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryActuatorAutoConfiguration.java b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryActuatorAutoConfiguration.java index 22959d54c75..b272954435f 100644 --- a/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryActuatorAutoConfiguration.java +++ b/module/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryActuatorAutoConfiguration.java @@ -83,7 +83,7 @@ import org.springframework.web.servlet.DispatcherServlet; @ConditionalOnClass(DispatcherServlet.class) @ConditionalOnBean(DispatcherServlet.class) @ConditionalOnCloudPlatform(CloudPlatform.CLOUD_FOUNDRY) -public class CloudFoundryActuatorAutoConfiguration { +public final class CloudFoundryActuatorAutoConfiguration { private static final String BASE_PATH = "/cloudfoundryapplication"; @@ -91,7 +91,7 @@ public class CloudFoundryActuatorAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnAvailableEndpoint @ConditionalOnBean({ HealthEndpoint.class, HealthEndpointWebExtension.class }) - public CloudFoundryHealthEndpointWebExtension cloudFoundryHealthEndpointWebExtension( + CloudFoundryHealthEndpointWebExtension cloudFoundryHealthEndpointWebExtension( HealthEndpointWebExtension healthEndpointWebExtension) { return new CloudFoundryHealthEndpointWebExtension(healthEndpointWebExtension); } @@ -100,7 +100,7 @@ public class CloudFoundryActuatorAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnAvailableEndpoint @ConditionalOnBean({ InfoEndpoint.class, GitProperties.class }) - public CloudFoundryInfoEndpointWebExtension cloudFoundryInfoEndpointWebExtension(GitProperties properties, + CloudFoundryInfoEndpointWebExtension cloudFoundryInfoEndpointWebExtension(GitProperties properties, ObjectProvider infoContributors) { List contributors = infoContributors.orderedStream() .map((infoContributor) -> (infoContributor instanceof GitInfoContributor) @@ -111,7 +111,7 @@ public class CloudFoundryActuatorAutoConfiguration { @Bean @SuppressWarnings("removal") - public CloudFoundryWebEndpointServletHandlerMapping cloudFoundryWebEndpointServletHandlerMapping( + CloudFoundryWebEndpointServletHandlerMapping cloudFoundryWebEndpointServletHandlerMapping( ParameterValueMapper parameterMapper, EndpointMediaTypes endpointMediaTypes, RestTemplateBuilder restTemplateBuilder, org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier, @@ -164,7 +164,7 @@ public class CloudFoundryActuatorAutoConfiguration { */ @ConditionalOnClass({ WebSecurityCustomizer.class, WebSecurity.class }) @Configuration(proxyBeanMethods = false) - public static class IgnoredCloudFoundryPathsWebSecurityConfiguration { + static class IgnoredCloudFoundryPathsWebSecurityConfiguration { private static final int FILTER_CHAIN_ORDER = -1; diff --git a/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/CouchbaseAutoConfiguration.java b/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/CouchbaseAutoConfiguration.java index 9e81e889694..a527a70ac80 100644 --- a/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/CouchbaseAutoConfiguration.java +++ b/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/CouchbaseAutoConfiguration.java @@ -79,7 +79,7 @@ import org.springframework.util.StringUtils; @ConditionalOnClass(Cluster.class) @Conditional(CouchbaseCondition.class) @EnableConfigurationProperties(CouchbaseProperties.class) -public class CouchbaseAutoConfiguration { +public final class CouchbaseAutoConfiguration { private final ResourceLoader resourceLoader; @@ -98,8 +98,7 @@ public class CouchbaseAutoConfiguration { @Bean @ConditionalOnMissingBean - public ClusterEnvironment couchbaseClusterEnvironment( - ObjectProvider customizers, + ClusterEnvironment couchbaseClusterEnvironment(ObjectProvider customizers, CouchbaseConnectionDetails connectionDetails) { Builder builder = initializeEnvironmentBuilder(connectionDetails); customizers.orderedStream().forEach((customizer) -> customizer.customize(builder)); @@ -108,7 +107,7 @@ public class CouchbaseAutoConfiguration { @Bean @ConditionalOnMissingBean - public Authenticator couchbaseAuthenticator(CouchbaseConnectionDetails connectionDetails) throws IOException { + Authenticator couchbaseAuthenticator(CouchbaseConnectionDetails connectionDetails) throws IOException { if (connectionDetails.getUsername() != null && connectionDetails.getPassword() != null) { return PasswordAuthenticator.create(connectionDetails.getUsername(), connectionDetails.getPassword()); } @@ -137,7 +136,7 @@ public class CouchbaseAutoConfiguration { @Bean(destroyMethod = "disconnect") @ConditionalOnMissingBean - public Cluster couchbaseCluster(ClusterEnvironment couchbaseClusterEnvironment, Authenticator authenticator, + Cluster couchbaseCluster(ClusterEnvironment couchbaseClusterEnvironment, Authenticator authenticator, CouchbaseConnectionDetails connectionDetails) { ClusterOptions options = ClusterOptions.clusterOptions(authenticator).environment(couchbaseClusterEnvironment); return Cluster.connect(connectionDetails.getConnectionString(), options); diff --git a/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfiguration.java b/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfiguration.java index 8db89256eb9..b16670e2524 100644 --- a/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfiguration.java +++ b/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfiguration.java @@ -45,16 +45,16 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ Cluster.class, CouchbaseHealthIndicator.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(Cluster.class) @ConditionalOnEnabledHealthIndicator("couchbase") -public class CouchbaseHealthContributorAutoConfiguration +public final class CouchbaseHealthContributorAutoConfiguration extends CompositeHealthContributorConfiguration { - public CouchbaseHealthContributorAutoConfiguration() { + CouchbaseHealthContributorAutoConfiguration() { super(CouchbaseHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "couchbaseHealthIndicator", "couchbaseHealthContributor" }) - public HealthContributor couchbaseHealthContributor(ConfigurableListableBeanFactory beanFactory) { + HealthContributor couchbaseHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, Cluster.class); } diff --git a/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfiguration.java b/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfiguration.java index a56a87ec511..a5efc0d8480 100644 --- a/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfiguration.java +++ b/module/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfiguration.java @@ -45,16 +45,16 @@ import org.springframework.context.annotation.Bean; ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(Cluster.class) @ConditionalOnEnabledHealthIndicator("couchbase") -public class CouchbaseReactiveHealthContributorAutoConfiguration +public final class CouchbaseReactiveHealthContributorAutoConfiguration extends CompositeReactiveHealthContributorConfiguration { - public CouchbaseReactiveHealthContributorAutoConfiguration() { + CouchbaseReactiveHealthContributorAutoConfiguration() { super(CouchbaseReactiveHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "couchbaseHealthIndicator", "couchbaseHealthContributor" }) - public ReactiveHealthContributor couchbaseHealthContributor(ConfigurableListableBeanFactory beanFactory) { + ReactiveHealthContributor couchbaseHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, Cluster.class); } diff --git a/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraDataAutoConfiguration.java b/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraDataAutoConfiguration.java index 3b515d107b2..4b99cab2b4a 100644 --- a/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraDataAutoConfiguration.java +++ b/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraDataAutoConfiguration.java @@ -63,17 +63,17 @@ import org.springframework.data.cassandra.core.mapping.SimpleUserTypeResolver; @AutoConfiguration(after = CassandraAutoConfiguration.class) @ConditionalOnClass({ CqlSession.class, CassandraAdminOperations.class }) @ConditionalOnBean(CqlSession.class) -public class CassandraDataAutoConfiguration { +public final class CassandraDataAutoConfiguration { private final CqlSession session; - public CassandraDataAutoConfiguration(@Lazy CqlSession session) { + CassandraDataAutoConfiguration(@Lazy CqlSession session) { this.session = session; } @Bean @ConditionalOnMissingBean - public static CassandraManagedTypes cassandraManagedTypes(BeanFactory beanFactory) throws ClassNotFoundException { + static CassandraManagedTypes cassandraManagedTypes(BeanFactory beanFactory) throws ClassNotFoundException { List packages = EntityScanPackages.get(beanFactory).getPackageNames(); if (packages.isEmpty() && AutoConfigurationPackages.has(beanFactory)) { packages = AutoConfigurationPackages.get(beanFactory); @@ -86,7 +86,7 @@ public class CassandraDataAutoConfiguration { @Bean @ConditionalOnMissingBean - public CassandraMappingContext cassandraMappingContext(CassandraManagedTypes cassandraManagedTypes, + CassandraMappingContext cassandraMappingContext(CassandraManagedTypes cassandraManagedTypes, CassandraCustomConversions conversions) { CassandraMappingContext context = new CassandraMappingContext(); context.setManagedTypes(cassandraManagedTypes); @@ -96,8 +96,7 @@ public class CassandraDataAutoConfiguration { @Bean @ConditionalOnMissingBean - public CassandraConverter cassandraConverter(CassandraMappingContext mapping, - CassandraCustomConversions conversions) { + CassandraConverter cassandraConverter(CassandraMappingContext mapping, CassandraCustomConversions conversions) { MappingCassandraConverter converter = new MappingCassandraConverter(mapping); converter.setCodecRegistry(() -> this.session.getContext().getCodecRegistry()); converter.setCustomConversions(conversions); @@ -107,7 +106,7 @@ public class CassandraDataAutoConfiguration { @Bean @ConditionalOnMissingBean(SessionFactory.class) - public SessionFactoryFactoryBean cassandraSessionFactory(Environment environment, CassandraConverter converter) { + SessionFactoryFactoryBean cassandraSessionFactory(Environment environment, CassandraConverter converter) { SessionFactoryFactoryBean session = new SessionFactoryFactoryBean(); session.setSession(this.session); session.setConverter(converter); @@ -118,19 +117,19 @@ public class CassandraDataAutoConfiguration { @Bean @ConditionalOnMissingBean(CqlOperations.class) - public CqlTemplate cqlTemplate(SessionFactory sessionFactory) { + CqlTemplate cqlTemplate(SessionFactory sessionFactory) { return new CqlTemplate(sessionFactory); } @Bean @ConditionalOnMissingBean(CassandraOperations.class) - public CassandraTemplate cassandraTemplate(CqlTemplate cqlTemplate, CassandraConverter converter) { + CassandraTemplate cassandraTemplate(CqlTemplate cqlTemplate, CassandraConverter converter) { return new CassandraTemplate(cqlTemplate, converter); } @Bean @ConditionalOnMissingBean - public CassandraCustomConversions cassandraCustomConversions() { + CassandraCustomConversions cassandraCustomConversions() { return new CassandraCustomConversions(Collections.emptyList()); } diff --git a/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraReactiveDataAutoConfiguration.java b/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraReactiveDataAutoConfiguration.java index 2588dad516a..85b20d94665 100644 --- a/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraReactiveDataAutoConfiguration.java +++ b/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraReactiveDataAutoConfiguration.java @@ -46,29 +46,29 @@ import org.springframework.data.cassandra.core.cql.session.DefaultReactiveSessio @AutoConfiguration(after = CassandraDataAutoConfiguration.class) @ConditionalOnClass({ CqlSession.class, ReactiveCassandraTemplate.class, Flux.class }) @ConditionalOnBean(CqlSession.class) -public class CassandraReactiveDataAutoConfiguration { +public final class CassandraReactiveDataAutoConfiguration { @Bean @ConditionalOnMissingBean - public ReactiveSession reactiveCassandraSession(CqlSession session) { + ReactiveSession reactiveCassandraSession(CqlSession session) { return new DefaultBridgedReactiveSession(session); } @Bean @ConditionalOnMissingBean - public ReactiveSessionFactory reactiveCassandraSessionFactory(ReactiveSession reactiveCassandraSession) { + ReactiveSessionFactory reactiveCassandraSessionFactory(ReactiveSession reactiveCassandraSession) { return new DefaultReactiveSessionFactory(reactiveCassandraSession); } @Bean @ConditionalOnMissingBean(ReactiveCqlOperations.class) - public ReactiveCqlTemplate reactiveCqlTemplate(ReactiveSessionFactory reactiveCassandraSessionFactory) { + ReactiveCqlTemplate reactiveCqlTemplate(ReactiveSessionFactory reactiveCassandraSessionFactory) { return new ReactiveCqlTemplate(reactiveCassandraSessionFactory); } @Bean @ConditionalOnMissingBean(ReactiveCassandraOperations.class) - public ReactiveCassandraTemplate reactiveCassandraTemplate(ReactiveCqlTemplate reactiveCqlTemplate, + ReactiveCassandraTemplate reactiveCassandraTemplate(ReactiveCqlTemplate reactiveCqlTemplate, CassandraConverter converter) { return new ReactiveCassandraTemplate(reactiveCqlTemplate, converter); } diff --git a/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraReactiveRepositoriesAutoConfiguration.java b/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraReactiveRepositoriesAutoConfiguration.java index 46342622f34..b9cb8941420 100644 --- a/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraReactiveRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraReactiveRepositoriesAutoConfiguration.java @@ -42,6 +42,6 @@ import org.springframework.data.cassandra.repository.support.ReactiveCassandraRe @ConditionalOnRepositoryType(store = "cassandra", type = RepositoryType.REACTIVE) @ConditionalOnMissingBean(ReactiveCassandraRepositoryFactoryBean.class) @Import(CassandraReactiveRepositoriesRegistrar.class) -public class CassandraReactiveRepositoriesAutoConfiguration { +public final class CassandraReactiveRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraRepositoriesAutoConfiguration.java b/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraRepositoriesAutoConfiguration.java index ca35f5e6c8f..f257ec27dc9 100644 --- a/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-cassandra/src/main/java/org/springframework/boot/data/cassandra/autoconfigure/CassandraRepositoriesAutoConfiguration.java @@ -42,6 +42,6 @@ import org.springframework.data.cassandra.repository.support.CassandraRepository @ConditionalOnRepositoryType(store = "cassandra", type = RepositoryType.IMPERATIVE) @ConditionalOnMissingBean(CassandraRepositoryFactoryBean.class) @Import(CassandraRepositoriesRegistrar.class) -public class CassandraRepositoriesAutoConfiguration { +public final class CassandraRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-commons/src/main/java/org/springframework/boot/data/autoconfigure/metrics/SpringDataRepositoryMetricsAutoConfiguration.java b/module/spring-boot-data-commons/src/main/java/org/springframework/boot/data/autoconfigure/metrics/SpringDataRepositoryMetricsAutoConfiguration.java index 1e81be890a7..599d991f749 100644 --- a/module/spring-boot-data-commons/src/main/java/org/springframework/boot/data/autoconfigure/metrics/SpringDataRepositoryMetricsAutoConfiguration.java +++ b/module/spring-boot-data-commons/src/main/java/org/springframework/boot/data/autoconfigure/metrics/SpringDataRepositoryMetricsAutoConfiguration.java @@ -45,23 +45,23 @@ import org.springframework.util.function.SingletonSupplier; @ConditionalOnClass(org.springframework.data.repository.Repository.class) @ConditionalOnBean(MeterRegistry.class) @EnableConfigurationProperties(DataMetricsProperties.class) -public class SpringDataRepositoryMetricsAutoConfiguration { +public final class SpringDataRepositoryMetricsAutoConfiguration { private final DataMetricsProperties properties; - public SpringDataRepositoryMetricsAutoConfiguration(DataMetricsProperties properties) { + SpringDataRepositoryMetricsAutoConfiguration(DataMetricsProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean(RepositoryTagsProvider.class) - public DefaultRepositoryTagsProvider repositoryTagsProvider() { + DefaultRepositoryTagsProvider repositoryTagsProvider() { return new DefaultRepositoryTagsProvider(); } @Bean @ConditionalOnMissingBean - public MetricsRepositoryMethodInvocationListener metricsRepositoryMethodInvocationListener( + MetricsRepositoryMethodInvocationListener metricsRepositoryMethodInvocationListener( ObjectProvider registry, RepositoryTagsProvider tagsProvider) { Repository properties = this.properties.getRepository(); return new MetricsRepositoryMethodInvocationListener(registry::getObject, tagsProvider, @@ -69,7 +69,7 @@ public class SpringDataRepositoryMetricsAutoConfiguration { } @Bean - public static MetricsRepositoryMethodInvocationListenerBeanPostProcessor metricsRepositoryMethodInvocationListenerBeanPostProcessor( + static MetricsRepositoryMethodInvocationListenerBeanPostProcessor metricsRepositoryMethodInvocationListenerBeanPostProcessor( ObjectProvider metricsRepositoryMethodInvocationListener) { return new MetricsRepositoryMethodInvocationListenerBeanPostProcessor( SingletonSupplier.of(metricsRepositoryMethodInvocationListener::getObject)); diff --git a/module/spring-boot-data-commons/src/main/java/org/springframework/boot/data/autoconfigure/web/SpringDataWebAutoConfiguration.java b/module/spring-boot-data-commons/src/main/java/org/springframework/boot/data/autoconfigure/web/SpringDataWebAutoConfiguration.java index eecfbeb4ea8..e3c35aedf0f 100644 --- a/module/spring-boot-data-commons/src/main/java/org/springframework/boot/data/autoconfigure/web/SpringDataWebAutoConfiguration.java +++ b/module/spring-boot-data-commons/src/main/java/org/springframework/boot/data/autoconfigure/web/SpringDataWebAutoConfiguration.java @@ -51,17 +51,17 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @ConditionalOnClass({ PageableHandlerMethodArgumentResolver.class, WebMvcConfigurer.class }) @ConditionalOnMissingBean(PageableHandlerMethodArgumentResolver.class) @EnableConfigurationProperties(SpringDataWebProperties.class) -public class SpringDataWebAutoConfiguration { +public final class SpringDataWebAutoConfiguration { private final SpringDataWebProperties properties; - public SpringDataWebAutoConfiguration(SpringDataWebProperties properties) { + SpringDataWebAutoConfiguration(SpringDataWebProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public PageableHandlerMethodArgumentResolverCustomizer pageableCustomizer() { + PageableHandlerMethodArgumentResolverCustomizer pageableCustomizer() { return (resolver) -> { Pageable pageable = this.properties.getPageable(); resolver.setPageParameterName(pageable.getPageParameter()); @@ -76,13 +76,13 @@ public class SpringDataWebAutoConfiguration { @Bean @ConditionalOnMissingBean - public SortHandlerMethodArgumentResolverCustomizer sortCustomizer() { + SortHandlerMethodArgumentResolverCustomizer sortCustomizer() { return (resolver) -> resolver.setSortParameter(this.properties.getSort().getSortParameter()); } @Bean @ConditionalOnMissingBean - public SpringDataWebSettings springDataWebSettings() { + SpringDataWebSettings springDataWebSettings() { return new SpringDataWebSettings(this.properties.getPageable().getSerializationMode()); } diff --git a/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseDataAutoConfiguration.java b/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseDataAutoConfiguration.java index 0fac77b9a44..177d89fadb7 100644 --- a/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseDataAutoConfiguration.java +++ b/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseDataAutoConfiguration.java @@ -44,15 +44,15 @@ import org.springframework.data.couchbase.repository.CouchbaseRepository; @EnableConfigurationProperties(CouchbaseDataProperties.class) @Import({ CouchbaseDataConfiguration.class, CouchbaseClientFactoryConfiguration.class, CouchbaseClientFactoryDependentConfiguration.class }) -public class CouchbaseDataAutoConfiguration { +public final class CouchbaseDataAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(Validator.class) - public static class ValidationConfiguration { + static class ValidationConfiguration { @Bean @ConditionalOnSingleCandidate(Validator.class) - public ValidatingCouchbaseEventListener validationEventListener(Validator validator) { + ValidatingCouchbaseEventListener validationEventListener(Validator validator) { return new ValidatingCouchbaseEventListener(validator); } diff --git a/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseReactiveDataAutoConfiguration.java b/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseReactiveDataAutoConfiguration.java index d63ae0ec571..e7b13dd72f7 100644 --- a/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseReactiveDataAutoConfiguration.java +++ b/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseReactiveDataAutoConfiguration.java @@ -35,6 +35,6 @@ import org.springframework.data.couchbase.repository.ReactiveCouchbaseRepository @AutoConfiguration(after = CouchbaseDataAutoConfiguration.class) @ConditionalOnClass({ Cluster.class, ReactiveCouchbaseRepository.class, Flux.class }) @Import(CouchbaseReactiveDataConfiguration.class) -public class CouchbaseReactiveDataAutoConfiguration { +public final class CouchbaseReactiveDataAutoConfiguration { } diff --git a/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseReactiveRepositoriesAutoConfiguration.java b/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseReactiveRepositoriesAutoConfiguration.java index 02298fc5e13..4bbddd73bf6 100644 --- a/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseReactiveRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseReactiveRepositoriesAutoConfiguration.java @@ -44,6 +44,6 @@ import org.springframework.data.couchbase.repository.support.ReactiveCouchbaseRe @ConditionalOnBean(ReactiveRepositoryOperationsMapping.class) @ConditionalOnMissingBean(ReactiveCouchbaseRepositoryFactoryBean.class) @Import(CouchbaseReactiveRepositoriesRegistrar.class) -public class CouchbaseReactiveRepositoriesAutoConfiguration { +public final class CouchbaseReactiveRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseRepositoriesAutoConfiguration.java b/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseRepositoriesAutoConfiguration.java index a1bf876e032..75dcef7b09f 100644 --- a/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-couchbase/src/main/java/org/springframework/boot/data/couchbase/autoconfigure/CouchbaseRepositoriesAutoConfiguration.java @@ -44,6 +44,6 @@ import org.springframework.data.couchbase.repository.support.CouchbaseRepository @ConditionalOnRepositoryType(store = "couchbase", type = RepositoryType.IMPERATIVE) @ConditionalOnMissingBean(CouchbaseRepositoryFactoryBean.class) @Import(CouchbaseRepositoriesRegistrar.class) -public class CouchbaseRepositoriesAutoConfiguration { +public final class CouchbaseRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchDataAutoConfiguration.java b/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchDataAutoConfiguration.java index 3ab3c4a63b7..5bd2e0fe3cf 100644 --- a/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchDataAutoConfiguration.java +++ b/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchDataAutoConfiguration.java @@ -43,6 +43,6 @@ import org.springframework.data.elasticsearch.repository.config.EnableReactiveEl @Import({ ElasticsearchDataConfiguration.BaseConfiguration.class, ElasticsearchDataConfiguration.JavaClientConfiguration.class, ElasticsearchDataConfiguration.ReactiveRestClientConfiguration.class }) -public class ElasticsearchDataAutoConfiguration { +public final class ElasticsearchDataAutoConfiguration { } diff --git a/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchReactiveRepositoriesAutoConfiguration.java b/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchReactiveRepositoriesAutoConfiguration.java index 81f463bcf0f..b654e1a1952 100644 --- a/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchReactiveRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchReactiveRepositoriesAutoConfiguration.java @@ -42,6 +42,6 @@ import org.springframework.data.elasticsearch.repository.support.ReactiveElastic @ConditionalOnBooleanProperty(name = "spring.data.elasticsearch.repositories.enabled", matchIfMissing = true) @ConditionalOnMissingBean(ReactiveElasticsearchRepositoryFactoryBean.class) @Import(ElasticsearchReactiveRepositoriesRegistrar.class) -public class ElasticsearchReactiveRepositoriesAutoConfiguration { +public final class ElasticsearchReactiveRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchRepositoriesAutoConfiguration.java b/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchRepositoriesAutoConfiguration.java index c9da938d38a..68ee38f33e6 100644 --- a/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/ElasticsearchRepositoriesAutoConfiguration.java @@ -40,6 +40,6 @@ import org.springframework.data.elasticsearch.repository.support.ElasticsearchRe @ConditionalOnBooleanProperty(name = "spring.data.elasticsearch.repositories.enabled", matchIfMissing = true) @ConditionalOnMissingBean(ElasticsearchRepositoryFactoryBean.class) @Import(ElasticsearchRepositoriesRegistrar.class) -public class ElasticsearchRepositoriesAutoConfiguration { +public final class ElasticsearchRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfiguration.java b/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfiguration.java index eb9362b6fa1..5b3bbc1c4c4 100644 --- a/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfiguration.java +++ b/module/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfiguration.java @@ -45,16 +45,16 @@ import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchCl ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(ReactiveElasticsearchClient.class) @ConditionalOnEnabledHealthIndicator("elasticsearch") -public class ElasticsearchReactiveHealthContributorAutoConfiguration extends +public final class ElasticsearchReactiveHealthContributorAutoConfiguration extends CompositeReactiveHealthContributorConfiguration { - public ElasticsearchReactiveHealthContributorAutoConfiguration() { + ElasticsearchReactiveHealthContributorAutoConfiguration() { super(ElasticsearchReactiveHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "elasticsearchHealthIndicator", "elasticsearchHealthContributor" }) - public ReactiveHealthContributor elasticsearchHealthContributor(ConfigurableListableBeanFactory beanFactory) { + ReactiveHealthContributor elasticsearchHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, ReactiveElasticsearchClient.class); } diff --git a/module/spring-boot-data-jdbc/src/main/java/org/springframework/boot/data/jdbc/autoconfigure/JdbcRepositoriesAutoConfiguration.java b/module/spring-boot-data-jdbc/src/main/java/org/springframework/boot/data/jdbc/autoconfigure/JdbcRepositoriesAutoConfiguration.java index b94afaacf08..7d415ec907f 100644 --- a/module/spring-boot-data-jdbc/src/main/java/org/springframework/boot/data/jdbc/autoconfigure/JdbcRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-jdbc/src/main/java/org/springframework/boot/data/jdbc/autoconfigure/JdbcRepositoriesAutoConfiguration.java @@ -69,7 +69,7 @@ import org.springframework.transaction.PlatformTransactionManager; @ConditionalOnClass({ NamedParameterJdbcOperations.class, AbstractJdbcConfiguration.class }) @ConditionalOnBooleanProperty(name = "spring.data.jdbc.repositories.enabled", matchIfMissing = true) @EnableConfigurationProperties(JdbcDataProperties.class) -public class JdbcRepositoriesAutoConfiguration { +public final class JdbcRepositoriesAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnMissingBean(JdbcRepositoryConfigExtension.class) diff --git a/module/spring-boot-data-jpa/src/main/java/org/springframework/boot/data/jpa/autoconfigure/JpaRepositoriesAutoConfiguration.java b/module/spring-boot-data-jpa/src/main/java/org/springframework/boot/data/jpa/autoconfigure/JpaRepositoriesAutoConfiguration.java index 6a11da334bf..444f869983a 100644 --- a/module/spring-boot-data-jpa/src/main/java/org/springframework/boot/data/jpa/autoconfigure/JpaRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-jpa/src/main/java/org/springframework/boot/data/jpa/autoconfigure/JpaRepositoriesAutoConfiguration.java @@ -77,11 +77,11 @@ import org.springframework.util.ClassUtils; @ConditionalOnMissingBean({ JpaRepositoryFactoryBean.class, JpaRepositoryConfigExtension.class }) @ConditionalOnBooleanProperty(name = "spring.data.jpa.repositories.enabled", matchIfMissing = true) @Import(JpaRepositoriesImportSelector.class) -public class JpaRepositoriesAutoConfiguration { +public final class JpaRepositoriesAutoConfiguration { @Bean @Conditional(BootstrapExecutorCondition.class) - public EntityManagerFactoryBuilderCustomizer entityManagerFactoryBootstrapExecutorCustomizer( + EntityManagerFactoryBuilderCustomizer entityManagerFactoryBootstrapExecutorCustomizer( Map taskExecutors) { return (builder) -> { AsyncTaskExecutor bootstrapExecutor = determineBootstrapExecutor(taskExecutors); diff --git a/module/spring-boot-data-ldap/src/main/java/org/springframework/boot/data/ldap/autoconfigure/LdapRepositoriesAutoConfiguration.java b/module/spring-boot-data-ldap/src/main/java/org/springframework/boot/data/ldap/autoconfigure/LdapRepositoriesAutoConfiguration.java index 1e65e323c79..49197805785 100644 --- a/module/spring-boot-data-ldap/src/main/java/org/springframework/boot/data/ldap/autoconfigure/LdapRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-ldap/src/main/java/org/springframework/boot/data/ldap/autoconfigure/LdapRepositoriesAutoConfiguration.java @@ -38,6 +38,6 @@ import org.springframework.data.ldap.repository.support.LdapRepositoryFactoryBea @ConditionalOnBooleanProperty(name = "spring.data.ldap.repositories.enabled", matchIfMissing = true) @ConditionalOnMissingBean(LdapRepositoryFactoryBean.class) @Import(LdapRepositoriesRegistrar.class) -public class LdapRepositoriesAutoConfiguration { +public final class LdapRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoDataAutoConfiguration.java b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoDataAutoConfiguration.java index 9b38c059adc..90bb976d1fd 100644 --- a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoDataAutoConfiguration.java +++ b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoDataAutoConfiguration.java @@ -57,7 +57,7 @@ import org.springframework.data.mongodb.gridfs.GridFsTemplate; @EnableConfigurationProperties(MongoProperties.class) @Import({ MongoDataConfiguration.class, MongoDatabaseFactoryConfiguration.class, MongoDatabaseFactoryDependentConfiguration.class }) -public class MongoDataAutoConfiguration { +public final class MongoDataAutoConfiguration { @Bean @ConditionalOnMissingBean(MongoConnectionDetails.class) diff --git a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoReactiveDataAutoConfiguration.java b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoReactiveDataAutoConfiguration.java index 88f1eafbe97..122229575dd 100644 --- a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoReactiveDataAutoConfiguration.java +++ b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoReactiveDataAutoConfiguration.java @@ -72,7 +72,7 @@ import org.springframework.util.StringUtils; @ConditionalOnBean(MongoClient.class) @EnableConfigurationProperties(MongoProperties.class) @Import(MongoDataConfiguration.class) -public class MongoReactiveDataAutoConfiguration { +public final class MongoReactiveDataAutoConfiguration { private final MongoConnectionDetails connectionDetails; @@ -82,8 +82,7 @@ public class MongoReactiveDataAutoConfiguration { @Bean @ConditionalOnMissingBean(ReactiveMongoDatabaseFactory.class) - public SimpleReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory(MongoClient mongo, - MongoProperties properties) { + SimpleReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory(MongoClient mongo, MongoProperties properties) { String database = properties.getDatabase(); if (database == null) { database = this.connectionDetails.getConnectionString().getDatabase(); @@ -93,20 +92,20 @@ public class MongoReactiveDataAutoConfiguration { @Bean @ConditionalOnMissingBean(ReactiveMongoOperations.class) - public ReactiveMongoTemplate reactiveMongoTemplate(ReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory, + ReactiveMongoTemplate reactiveMongoTemplate(ReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory, MongoConverter converter) { return new ReactiveMongoTemplate(reactiveMongoDatabaseFactory, converter); } @Bean @ConditionalOnMissingBean(DataBufferFactory.class) - public DefaultDataBufferFactory dataBufferFactory() { + DefaultDataBufferFactory dataBufferFactory() { return new DefaultDataBufferFactory(); } @Bean @ConditionalOnMissingBean(ReactiveGridFsOperations.class) - public ReactiveGridFsTemplate reactiveGridFsTemplate(ReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory, + ReactiveGridFsTemplate reactiveGridFsTemplate(ReactiveMongoDatabaseFactory reactiveMongoDatabaseFactory, MappingMongoConverter mappingMongoConverter, DataBufferFactory dataBufferFactory) { return new ReactiveGridFsTemplate(dataBufferFactory, new GridFsReactiveMongoDatabaseFactory(reactiveMongoDatabaseFactory, this.connectionDetails), diff --git a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoReactiveRepositoriesAutoConfiguration.java b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoReactiveRepositoriesAutoConfiguration.java index 845d99e07ec..1e5a1fef999 100644 --- a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoReactiveRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoReactiveRepositoriesAutoConfiguration.java @@ -54,6 +54,6 @@ import org.springframework.data.mongodb.repository.support.ReactiveMongoReposito ReactiveMongoRepositoryConfigurationExtension.class }) @ConditionalOnRepositoryType(store = "mongodb", type = RepositoryType.REACTIVE) @Import(MongoReactiveRepositoriesRegistrar.class) -public class MongoReactiveRepositoriesAutoConfiguration { +public final class MongoReactiveRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoRepositoriesAutoConfiguration.java b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoRepositoriesAutoConfiguration.java index 329f45037eb..0b886771bd9 100644 --- a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/MongoRepositoriesAutoConfiguration.java @@ -55,6 +55,6 @@ import org.springframework.data.mongodb.repository.support.MongoRepositoryFactor @ConditionalOnMissingBean({ MongoRepositoryFactoryBean.class, MongoRepositoryConfigurationExtension.class }) @ConditionalOnRepositoryType(store = "mongodb", type = RepositoryType.IMPERATIVE) @Import(MongoRepositoriesRegistrar.class) -public class MongoRepositoriesAutoConfiguration { +public final class MongoRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfiguration.java b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfiguration.java index de4fb38408b..e5d04ac0ff6 100644 --- a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfiguration.java +++ b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfiguration.java @@ -42,16 +42,16 @@ import org.springframework.data.mongodb.core.MongoTemplate; @ConditionalOnClass({ MongoTemplate.class, MongoHealthIndicator.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(MongoTemplate.class) @ConditionalOnEnabledHealthIndicator("mongo") -public class MongoHealthContributorAutoConfiguration +public final class MongoHealthContributorAutoConfiguration extends CompositeHealthContributorConfiguration { - public MongoHealthContributorAutoConfiguration() { + MongoHealthContributorAutoConfiguration() { super(MongoHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "mongoHealthIndicator", "mongoHealthContributor" }) - public HealthContributor mongoHealthContributor(ConfigurableListableBeanFactory beanFactory) { + HealthContributor mongoHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, MongoTemplate.class); } diff --git a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfiguration.java b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfiguration.java index 576caaa4fd0..589193e1b4f 100644 --- a/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfiguration.java +++ b/module/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfiguration.java @@ -44,16 +44,16 @@ import org.springframework.data.mongodb.core.ReactiveMongoTemplate; ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(ReactiveMongoTemplate.class) @ConditionalOnEnabledHealthIndicator("mongo") -public class MongoReactiveHealthContributorAutoConfiguration +public final class MongoReactiveHealthContributorAutoConfiguration extends CompositeReactiveHealthContributorConfiguration { - public MongoReactiveHealthContributorAutoConfiguration() { + MongoReactiveHealthContributorAutoConfiguration() { super(MongoReactiveHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "mongoHealthIndicator", "mongoHealthContributor" }) - public ReactiveHealthContributor mongoHealthContributor(ConfigurableListableBeanFactory beanFactory) { + ReactiveHealthContributor mongoHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, ReactiveMongoTemplate.class); } diff --git a/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jDataAutoConfiguration.java b/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jDataAutoConfiguration.java index 801b5d92be4..e53dd420936 100644 --- a/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jDataAutoConfiguration.java +++ b/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jDataAutoConfiguration.java @@ -64,11 +64,11 @@ import org.springframework.transaction.TransactionManager; @ConditionalOnClass({ Driver.class, Neo4jTransactionManager.class, PlatformTransactionManager.class }) @EnableConfigurationProperties(Neo4jDataProperties.class) @ConditionalOnBean(Driver.class) -public class Neo4jDataAutoConfiguration { +public final class Neo4jDataAutoConfiguration { @Bean @ConditionalOnMissingBean - public Neo4jConversions neo4jConversions() { + Neo4jConversions neo4jConversions() { return new Neo4jConversions(); } @@ -82,7 +82,7 @@ public class Neo4jDataAutoConfiguration { @Bean @ConditionalOnMissingBean - public Neo4jMappingContext neo4jMappingContext(Neo4jManagedTypes managedTypes, Neo4jConversions neo4jConversions) { + Neo4jMappingContext neo4jMappingContext(Neo4jManagedTypes managedTypes, Neo4jConversions neo4jConversions) { Neo4jMappingContext context = new Neo4jMappingContext(neo4jConversions); context.setManagedTypes(managedTypes); return context; @@ -90,7 +90,7 @@ public class Neo4jDataAutoConfiguration { @Bean @ConditionalOnMissingBean - public DatabaseSelectionProvider databaseSelectionProvider(Neo4jDataProperties properties) { + DatabaseSelectionProvider databaseSelectionProvider(Neo4jDataProperties properties) { String database = properties.getDatabase(); return (database != null) ? DatabaseSelectionProvider.createStaticDatabaseSelectionProvider(database) : DatabaseSelectionProvider.getDefaultSelectionProvider(); @@ -98,19 +98,19 @@ public class Neo4jDataAutoConfiguration { @Bean(Neo4jRepositoryConfigurationExtension.DEFAULT_NEO4J_CLIENT_BEAN_NAME) @ConditionalOnMissingBean - public Neo4jClient neo4jClient(Driver driver, DatabaseSelectionProvider databaseNameProvider) { + Neo4jClient neo4jClient(Driver driver, DatabaseSelectionProvider databaseNameProvider) { return Neo4jClient.create(driver, databaseNameProvider); } @Bean(Neo4jRepositoryConfigurationExtension.DEFAULT_NEO4J_TEMPLATE_BEAN_NAME) @ConditionalOnMissingBean(Neo4jOperations.class) - public Neo4jTemplate neo4jTemplate(Neo4jClient neo4jClient, Neo4jMappingContext neo4jMappingContext) { + Neo4jTemplate neo4jTemplate(Neo4jClient neo4jClient, Neo4jMappingContext neo4jMappingContext) { return new Neo4jTemplate(neo4jClient, neo4jMappingContext); } @Bean(Neo4jRepositoryConfigurationExtension.DEFAULT_TRANSACTION_MANAGER_BEAN_NAME) @ConditionalOnMissingBean(TransactionManager.class) - public Neo4jTransactionManager transactionManager(Driver driver, DatabaseSelectionProvider databaseNameProvider, + Neo4jTransactionManager transactionManager(Driver driver, DatabaseSelectionProvider databaseNameProvider, ObjectProvider optionalCustomizers) { Neo4jTransactionManager transactionManager = new Neo4jTransactionManager(driver, databaseNameProvider); optionalCustomizers.ifAvailable((customizer) -> customizer.customize(transactionManager)); diff --git a/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jReactiveDataAutoConfiguration.java b/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jReactiveDataAutoConfiguration.java index 891b5d6eec4..18de6c6c29f 100644 --- a/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jReactiveDataAutoConfiguration.java +++ b/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jReactiveDataAutoConfiguration.java @@ -46,11 +46,11 @@ import org.springframework.transaction.ReactiveTransactionManager; @ConditionalOnClass({ Driver.class, ReactiveNeo4jTemplate.class, ReactiveTransactionManager.class, Flux.class }) @ConditionalOnBean(Driver.class) @EnableConfigurationProperties(Neo4jDataProperties.class) -public class Neo4jReactiveDataAutoConfiguration { +public final class Neo4jReactiveDataAutoConfiguration { @Bean @ConditionalOnMissingBean - public ReactiveDatabaseSelectionProvider reactiveDatabaseSelectionProvider(Neo4jDataProperties dataProperties) { + ReactiveDatabaseSelectionProvider reactiveDatabaseSelectionProvider(Neo4jDataProperties dataProperties) { String database = dataProperties.getDatabase(); return (database != null) ? ReactiveDatabaseSelectionProvider.createStaticDatabaseSelectionProvider(database) : ReactiveDatabaseSelectionProvider.getDefaultSelectionProvider(); @@ -58,15 +58,14 @@ public class Neo4jReactiveDataAutoConfiguration { @Bean(ReactiveNeo4jRepositoryConfigurationExtension.DEFAULT_NEO4J_CLIENT_BEAN_NAME) @ConditionalOnMissingBean - public ReactiveNeo4jClient reactiveNeo4jClient(Driver driver, - ReactiveDatabaseSelectionProvider databaseNameProvider) { + ReactiveNeo4jClient reactiveNeo4jClient(Driver driver, ReactiveDatabaseSelectionProvider databaseNameProvider) { return ReactiveNeo4jClient.create(driver, databaseNameProvider); } @Bean(ReactiveNeo4jRepositoryConfigurationExtension.DEFAULT_NEO4J_TEMPLATE_BEAN_NAME) @ConditionalOnMissingBean(ReactiveNeo4jOperations.class) @ConditionalOnBean(Neo4jMappingContext.class) - public ReactiveNeo4jTemplate reactiveNeo4jTemplate(ReactiveNeo4jClient neo4jClient, + ReactiveNeo4jTemplate reactiveNeo4jTemplate(ReactiveNeo4jClient neo4jClient, Neo4jMappingContext neo4jMappingContext) { return new ReactiveNeo4jTemplate(neo4jClient, neo4jMappingContext); } diff --git a/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jReactiveRepositoriesAutoConfiguration.java b/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jReactiveRepositoriesAutoConfiguration.java index 8505c540fdd..74ad0cb1ddd 100644 --- a/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jReactiveRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jReactiveRepositoriesAutoConfiguration.java @@ -44,6 +44,6 @@ import org.springframework.data.neo4j.repository.support.ReactiveNeo4jRepository ReactiveNeo4jRepositoryConfigurationExtension.class }) @ConditionalOnRepositoryType(store = "neo4j", type = RepositoryType.REACTIVE) @Import(Neo4jReactiveRepositoriesRegistrar.class) -public class Neo4jReactiveRepositoriesAutoConfiguration { +public final class Neo4jReactiveRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jRepositoriesAutoConfiguration.java b/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jRepositoriesAutoConfiguration.java index f12322e4627..7e2f0b33ea4 100644 --- a/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-neo4j/src/main/java/org/springframework/boot/data/neo4j/autoconfigure/Neo4jRepositoriesAutoConfiguration.java @@ -54,6 +54,6 @@ import org.springframework.data.neo4j.repository.support.Neo4jRepositoryFactoryB @ConditionalOnMissingBean({ Neo4jRepositoryFactoryBean.class, Neo4jRepositoryConfigurationExtension.class }) @ConditionalOnRepositoryType(store = "neo4j", type = RepositoryType.IMPERATIVE) @Import(Neo4jRepositoriesRegistrar.class) -public class Neo4jRepositoriesAutoConfiguration { +public final class Neo4jRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-r2dbc/src/main/java/org/springframework/boot/data/r2dbc/autoconfigure/R2dbcDataAutoConfiguration.java b/module/spring-boot-data-r2dbc/src/main/java/org/springframework/boot/data/r2dbc/autoconfigure/R2dbcDataAutoConfiguration.java index 3ae3cc957b6..8ed37f24240 100644 --- a/module/spring-boot-data-r2dbc/src/main/java/org/springframework/boot/data/r2dbc/autoconfigure/R2dbcDataAutoConfiguration.java +++ b/module/spring-boot-data-r2dbc/src/main/java/org/springframework/boot/data/r2dbc/autoconfigure/R2dbcDataAutoConfiguration.java @@ -54,20 +54,20 @@ import org.springframework.r2dbc.core.DatabaseClient; @AutoConfiguration(after = R2dbcAutoConfiguration.class) @ConditionalOnClass({ DatabaseClient.class, R2dbcEntityTemplate.class }) @ConditionalOnSingleCandidate(DatabaseClient.class) -public class R2dbcDataAutoConfiguration { +public final class R2dbcDataAutoConfiguration { private final DatabaseClient databaseClient; private final R2dbcDialect dialect; - public R2dbcDataAutoConfiguration(DatabaseClient databaseClient) { + R2dbcDataAutoConfiguration(DatabaseClient databaseClient) { this.databaseClient = databaseClient; this.dialect = DialectResolver.getDialect(this.databaseClient.getConnectionFactory()); } @Bean @ConditionalOnMissingBean - public R2dbcEntityTemplate r2dbcEntityTemplate(R2dbcConverter r2dbcConverter) { + R2dbcEntityTemplate r2dbcEntityTemplate(R2dbcConverter r2dbcConverter) { return new R2dbcEntityTemplate(this.databaseClient, this.dialect, r2dbcConverter); } @@ -80,7 +80,7 @@ public class R2dbcDataAutoConfiguration { @Bean @ConditionalOnMissingBean - public R2dbcMappingContext r2dbcMappingContext(ObjectProvider namingStrategy, + R2dbcMappingContext r2dbcMappingContext(ObjectProvider namingStrategy, R2dbcCustomConversions r2dbcCustomConversions, RelationalManagedTypes r2dbcManagedTypes) { R2dbcMappingContext relationalMappingContext = new R2dbcMappingContext( namingStrategy.getIfAvailable(() -> DefaultNamingStrategy.INSTANCE)); @@ -91,14 +91,14 @@ public class R2dbcDataAutoConfiguration { @Bean @ConditionalOnMissingBean - public MappingR2dbcConverter r2dbcConverter(R2dbcMappingContext mappingContext, + MappingR2dbcConverter r2dbcConverter(R2dbcMappingContext mappingContext, R2dbcCustomConversions r2dbcCustomConversions) { return new MappingR2dbcConverter(mappingContext, r2dbcCustomConversions); } @Bean @ConditionalOnMissingBean - public R2dbcCustomConversions r2dbcCustomConversions() { + R2dbcCustomConversions r2dbcCustomConversions() { List converters = new ArrayList<>(this.dialect.getConverters()); converters.addAll(R2dbcCustomConversions.STORE_CONVERTERS); return new R2dbcCustomConversions( diff --git a/module/spring-boot-data-r2dbc/src/main/java/org/springframework/boot/data/r2dbc/autoconfigure/R2dbcRepositoriesAutoConfiguration.java b/module/spring-boot-data-r2dbc/src/main/java/org/springframework/boot/data/r2dbc/autoconfigure/R2dbcRepositoriesAutoConfiguration.java index 36622ad238c..de9d5b346e6 100644 --- a/module/spring-boot-data-r2dbc/src/main/java/org/springframework/boot/data/r2dbc/autoconfigure/R2dbcRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-r2dbc/src/main/java/org/springframework/boot/data/r2dbc/autoconfigure/R2dbcRepositoriesAutoConfiguration.java @@ -43,6 +43,6 @@ import org.springframework.r2dbc.core.DatabaseClient; @ConditionalOnBooleanProperty(name = "spring.data.r2dbc.repositories.enabled", matchIfMissing = true) @ConditionalOnMissingBean(R2dbcRepositoryFactoryBean.class) @Import(R2dbcRepositoriesAutoConfigureRegistrar.class) -public class R2dbcRepositoriesAutoConfiguration { +public final class R2dbcRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/LettuceMetricsAutoConfiguration.java b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/LettuceMetricsAutoConfiguration.java index e5a1f68ed51..06dc93fd0f6 100644 --- a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/LettuceMetricsAutoConfiguration.java +++ b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/LettuceMetricsAutoConfiguration.java @@ -38,7 +38,7 @@ import org.springframework.context.annotation.Bean; afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration") @ConditionalOnClass({ RedisClient.class, MicrometerCommandLatencyRecorder.class, MeterRegistry.class }) @ConditionalOnBean(MeterRegistry.class) -public class LettuceMetricsAutoConfiguration { +public final class LettuceMetricsAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisAutoConfiguration.java b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisAutoConfiguration.java index 42139edd985..ec2deb7d5e1 100644 --- a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisAutoConfiguration.java +++ b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisAutoConfiguration.java @@ -49,7 +49,7 @@ import org.springframework.data.redis.core.StringRedisTemplate; @ConditionalOnClass(RedisOperations.class) @EnableConfigurationProperties(RedisProperties.class) @Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class }) -public class RedisAutoConfiguration { +public final class RedisAutoConfiguration { @Bean @ConditionalOnMissingBean(RedisConnectionDetails.class) @@ -61,7 +61,7 @@ public class RedisAutoConfiguration { @Bean @ConditionalOnMissingBean(name = "redisTemplate") @ConditionalOnSingleCandidate(RedisConnectionFactory.class) - public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate template = new RedisTemplate<>(); template.setConnectionFactory(redisConnectionFactory); return template; @@ -70,7 +70,7 @@ public class RedisAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnSingleCandidate(RedisConnectionFactory.class) - public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) { + StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) { return new StringRedisTemplate(redisConnectionFactory); } diff --git a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisReactiveAutoConfiguration.java b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisReactiveAutoConfiguration.java index 7c3a88431fe..c64abd81a33 100644 --- a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisReactiveAutoConfiguration.java +++ b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisReactiveAutoConfiguration.java @@ -41,12 +41,12 @@ import org.springframework.data.redis.serializer.RedisSerializer; */ @AutoConfiguration(after = RedisAutoConfiguration.class) @ConditionalOnClass({ ReactiveRedisConnectionFactory.class, ReactiveRedisTemplate.class, Flux.class }) -public class RedisReactiveAutoConfiguration { +public final class RedisReactiveAutoConfiguration { @Bean @ConditionalOnMissingBean(name = "reactiveRedisTemplate") @ConditionalOnBean(ReactiveRedisConnectionFactory.class) - public ReactiveRedisTemplate reactiveRedisTemplate( + ReactiveRedisTemplate reactiveRedisTemplate( ReactiveRedisConnectionFactory reactiveRedisConnectionFactory, ResourceLoader resourceLoader) { RedisSerializer javaSerializer = RedisSerializer.java(resourceLoader.getClassLoader()); RedisSerializationContext serializationContext = RedisSerializationContext @@ -62,7 +62,7 @@ public class RedisReactiveAutoConfiguration { @Bean @ConditionalOnMissingBean(name = "reactiveStringRedisTemplate") @ConditionalOnBean(ReactiveRedisConnectionFactory.class) - public ReactiveStringRedisTemplate reactiveStringRedisTemplate( + ReactiveStringRedisTemplate reactiveStringRedisTemplate( ReactiveRedisConnectionFactory reactiveRedisConnectionFactory) { return new ReactiveStringRedisTemplate(reactiveRedisConnectionFactory); } diff --git a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisRepositoriesAutoConfiguration.java b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisRepositoriesAutoConfiguration.java index 14e31452438..afbc271f4c9 100644 --- a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisRepositoriesAutoConfiguration.java +++ b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/RedisRepositoriesAutoConfiguration.java @@ -42,6 +42,6 @@ import org.springframework.data.redis.repository.support.RedisRepositoryFactoryB @ConditionalOnBooleanProperty(name = "spring.data.redis.repositories.enabled", matchIfMissing = true) @ConditionalOnMissingBean(RedisRepositoryFactoryBean.class) @Import(RedisRepositoriesRegistrar.class) -public class RedisRepositoriesAutoConfiguration { +public final class RedisRepositoriesAutoConfiguration { } diff --git a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfiguration.java b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfiguration.java index 49f986202ad..0ddd7853c32 100644 --- a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfiguration.java +++ b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfiguration.java @@ -44,7 +44,7 @@ import org.springframework.data.redis.connection.RedisConnectionFactory; @ConditionalOnClass({ RedisConnectionFactory.class, HealthIndicator.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(RedisConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("redis") -public class RedisHealthContributorAutoConfiguration +public final class RedisHealthContributorAutoConfiguration extends CompositeHealthContributorConfiguration { RedisHealthContributorAutoConfiguration() { @@ -53,7 +53,7 @@ public class RedisHealthContributorAutoConfiguration @Bean @ConditionalOnMissingBean(name = { "redisHealthIndicator", "redisHealthContributor" }) - public HealthContributor redisHealthContributor(ConfigurableListableBeanFactory beanFactory) { + HealthContributor redisHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, RedisConnectionFactory.class); } diff --git a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfiguration.java b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfiguration.java index de29b2c1587..24afc2a32c3 100644 --- a/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfiguration.java +++ b/module/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfiguration.java @@ -48,7 +48,7 @@ import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(ReactiveRedisConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("redis") -public class RedisReactiveHealthContributorAutoConfiguration extends +public final class RedisReactiveHealthContributorAutoConfiguration extends CompositeReactiveHealthContributorConfiguration { RedisReactiveHealthContributorAutoConfiguration() { @@ -57,7 +57,7 @@ public class RedisReactiveHealthContributorAutoConfiguration extends @Bean @ConditionalOnMissingBean(name = { "redisHealthIndicator", "redisHealthContributor" }) - public ReactiveHealthContributor redisHealthContributor(ConfigurableListableBeanFactory beanFactory) { + ReactiveHealthContributor redisHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, ReactiveRedisConnectionFactory.class); } diff --git a/module/spring-boot-data-rest/src/main/java/org/springframework/boot/data/rest/autoconfigure/RepositoryRestMvcAutoConfiguration.java b/module/spring-boot-data-rest/src/main/java/org/springframework/boot/data/rest/autoconfigure/RepositoryRestMvcAutoConfiguration.java index c3c8c8748cc..972baac2cdb 100644 --- a/module/spring-boot-data-rest/src/main/java/org/springframework/boot/data/rest/autoconfigure/RepositoryRestMvcAutoConfiguration.java +++ b/module/spring-boot-data-rest/src/main/java/org/springframework/boot/data/rest/autoconfigure/RepositoryRestMvcAutoConfiguration.java @@ -54,10 +54,10 @@ import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; @EnableConfigurationProperties(RepositoryRestProperties.class) @Import(RepositoryRestMvcConfiguration.class) @SuppressWarnings("removal") -public class RepositoryRestMvcAutoConfiguration { +public final class RepositoryRestMvcAutoConfiguration { @Bean - public SpringBootRepositoryRestConfigurer springBootRepositoryRestConfigurer( + SpringBootRepositoryRestConfigurer springBootRepositoryRestConfigurer( ObjectProvider objectMapperBuilder, RepositoryRestProperties properties) { return new SpringBootRepositoryRestConfigurer(objectMapperBuilder.getIfAvailable(), properties); } diff --git a/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsDataSourceAutoConfiguration.java b/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsDataSourceAutoConfiguration.java index 81d5fc2f4eb..9d5a759834d 100644 --- a/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsDataSourceAutoConfiguration.java +++ b/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsDataSourceAutoConfiguration.java @@ -63,7 +63,7 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; @Conditional(DevToolsDataSourceCondition.class) @AutoConfiguration(afterName = "org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration") @Import(DatabaseShutdownExecutorEntityManagerFactoryDependsOnConfiguration.class) -public class DevToolsDataSourceAutoConfiguration { +public final class DevToolsDataSourceAutoConfiguration { @Bean NonEmbeddedInMemoryDatabaseShutdownExecutor inMemoryDatabaseShutdownExecutor(DataSource dataSource, diff --git a/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsR2dbcAutoConfiguration.java b/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsR2dbcAutoConfiguration.java index 55d75ca580f..d24587b9aec 100644 --- a/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsR2dbcAutoConfiguration.java +++ b/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/DevToolsR2dbcAutoConfiguration.java @@ -52,7 +52,7 @@ import org.springframework.core.type.MethodMetadata; @ConditionalOnEnabledDevTools @Conditional(DevToolsConnectionFactoryCondition.class) @AutoConfiguration(afterName = "org.springframework.boot.r2dbc.autoconfigure.R2dbcAutoConfiguration") -public class DevToolsR2dbcAutoConfiguration { +public final class DevToolsR2dbcAutoConfiguration { @Bean InMemoryR2dbcDatabaseShutdownExecutor inMemoryR2dbcDatabaseShutdownExecutor( diff --git a/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/LocalDevToolsAutoConfiguration.java b/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/LocalDevToolsAutoConfiguration.java index 5d51aac25da..634634bfd78 100644 --- a/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/LocalDevToolsAutoConfiguration.java +++ b/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/LocalDevToolsAutoConfiguration.java @@ -62,7 +62,7 @@ import org.springframework.util.StringUtils; @AutoConfiguration @ConditionalOnInitializedRestarter @EnableConfigurationProperties(DevToolsProperties.class) -public class LocalDevToolsAutoConfiguration { +public final class LocalDevToolsAutoConfiguration { /** * Local LiveReload configuration. diff --git a/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/RemoteDevToolsAutoConfiguration.java b/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/RemoteDevToolsAutoConfiguration.java index 08ad3887a86..8214428c8fe 100644 --- a/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/RemoteDevToolsAutoConfiguration.java +++ b/module/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/autoconfigure/RemoteDevToolsAutoConfiguration.java @@ -64,25 +64,25 @@ import org.springframework.http.server.ServerHttpRequest; @ConditionalOnClass({ Filter.class, ServerHttpRequest.class, ServerProperties.class }) @Import(RemoteDevtoolsSecurityConfiguration.class) @EnableConfigurationProperties({ ServerProperties.class, DevToolsProperties.class }) -public class RemoteDevToolsAutoConfiguration { +public final class RemoteDevToolsAutoConfiguration { private static final Log logger = LogFactory.getLog(RemoteDevToolsAutoConfiguration.class); private final DevToolsProperties properties; - public RemoteDevToolsAutoConfiguration(DevToolsProperties properties) { + RemoteDevToolsAutoConfiguration(DevToolsProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public AccessManager remoteDevToolsAccessManager() { + AccessManager remoteDevToolsAccessManager() { RemoteDevToolsProperties remoteProperties = this.properties.getRemote(); return new HttpHeaderAccessManager(remoteProperties.getSecretHeaderName(), remoteProperties.getSecret()); } @Bean - public HandlerMapper remoteDevToolsHealthCheckHandlerMapper(ServerProperties serverProperties) { + HandlerMapper remoteDevToolsHealthCheckHandlerMapper(ServerProperties serverProperties) { Handler handler = new HttpStatusHandler(); Servlet servlet = serverProperties.getServlet(); String servletContextPath = (servlet.getContextPath() != null) ? servlet.getContextPath() : ""; @@ -91,8 +91,7 @@ public class RemoteDevToolsAutoConfiguration { @Bean @ConditionalOnMissingBean - public DispatcherFilter remoteDevToolsDispatcherFilter(AccessManager accessManager, - Collection mappers) { + DispatcherFilter remoteDevToolsDispatcherFilter(AccessManager accessManager, Collection mappers) { Dispatcher dispatcher = new Dispatcher(accessManager, mappers); return new DispatcherFilter(dispatcher); } diff --git a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchClientAutoConfiguration.java b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchClientAutoConfiguration.java index ef5762f9d15..e4c937b7301 100644 --- a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchClientAutoConfiguration.java +++ b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchClientAutoConfiguration.java @@ -40,6 +40,6 @@ import org.springframework.context.annotation.Import; @ConditionalOnClass(ElasticsearchClient.class) @Import({ JsonpMapperConfiguration.class, ElasticsearchTransportConfiguration.class, ElasticsearchClientConfiguration.class }) -public class ElasticsearchClientAutoConfiguration { +public final class ElasticsearchClientAutoConfiguration { } diff --git a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchReactiveClientAutoConfiguration.java b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchReactiveClientAutoConfiguration.java index 07799e4b285..ddc19bf499c 100644 --- a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchReactiveClientAutoConfiguration.java +++ b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchReactiveClientAutoConfiguration.java @@ -43,7 +43,7 @@ import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchCl @EnableConfigurationProperties(ElasticsearchProperties.class) @Import({ ElasticsearchClientConfigurations.JsonpMapperConfiguration.class, ElasticsearchClientConfigurations.ElasticsearchTransportConfiguration.class }) -public class ElasticsearchReactiveClientAutoConfiguration { +public final class ElasticsearchReactiveClientAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchRestClientAutoConfiguration.java b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchRestClientAutoConfiguration.java index 4ae7397cfbe..e93b758131a 100644 --- a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchRestClientAutoConfiguration.java +++ b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/ElasticsearchRestClientAutoConfiguration.java @@ -39,6 +39,6 @@ import org.springframework.context.annotation.Import; @ConditionalOnClass(RestClientBuilder.class) @EnableConfigurationProperties(ElasticsearchProperties.class) @Import({ RestClientBuilderConfiguration.class, RestClientConfiguration.class, RestClientSnifferConfiguration.class }) -public class ElasticsearchRestClientAutoConfiguration { +public final class ElasticsearchRestClientAutoConfiguration { } diff --git a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfiguration.java b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfiguration.java index a98134c8d1d..0dd6d2b3a1e 100644 --- a/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfiguration.java +++ b/module/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfiguration.java @@ -42,16 +42,16 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ RestClient.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(RestClient.class) @ConditionalOnEnabledHealthIndicator("elasticsearch") -public class ElasticsearchRestHealthContributorAutoConfiguration +public final class ElasticsearchRestHealthContributorAutoConfiguration extends CompositeHealthContributorConfiguration { - public ElasticsearchRestHealthContributorAutoConfiguration() { + ElasticsearchRestHealthContributorAutoConfiguration() { super(ElasticsearchRestClientHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "elasticsearchHealthIndicator", "elasticsearchHealthContributor" }) - public HealthContributor elasticsearchHealthContributor(ConfigurableListableBeanFactory beanFactory) { + HealthContributor elasticsearchHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, RestClient.class); } diff --git a/module/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/autoconfigure/FlywayAutoConfiguration.java b/module/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/autoconfigure/FlywayAutoConfiguration.java index 62aa040607b..13420f5bbb4 100644 --- a/module/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/autoconfigure/FlywayAutoConfiguration.java +++ b/module/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/autoconfigure/FlywayAutoConfiguration.java @@ -106,16 +106,16 @@ import org.springframework.util.function.SingletonSupplier; @ConditionalOnBooleanProperty(name = "spring.flyway.enabled", matchIfMissing = true) @Import(DatabaseInitializationDependencyConfigurer.class) @ImportRuntimeHints(FlywayAutoConfigurationRuntimeHints.class) -public class FlywayAutoConfiguration { +public final class FlywayAutoConfiguration { @Bean @ConfigurationPropertiesBinding - public static StringOrNumberToMigrationVersionConverter stringOrNumberMigrationVersionConverter() { + static StringOrNumberToMigrationVersionConverter stringOrNumberMigrationVersionConverter() { return new StringOrNumberToMigrationVersionConverter(); } @Bean - public FlywaySchemaManagementProvider flywayDefaultDdlModeProvider(ObjectProvider flyways) { + FlywaySchemaManagementProvider flywayDefaultDdlModeProvider(ObjectProvider flyways) { return new FlywaySchemaManagementProvider(flyways); } @@ -123,7 +123,7 @@ public class FlywayAutoConfiguration { @ConditionalOnClass(JdbcUtils.class) @ConditionalOnMissingBean(Flyway.class) @EnableConfigurationProperties(FlywayProperties.class) - public static class FlywayConfiguration { + static class FlywayConfiguration { private final FlywayProperties properties; @@ -349,7 +349,7 @@ public class FlywayAutoConfiguration { @Bean @ConditionalOnMissingBean - public FlywayMigrationInitializer flywayInitializer(Flyway flyway, + FlywayMigrationInitializer flywayInitializer(Flyway flyway, ObjectProvider migrationStrategy) { return new FlywayMigrationInitializer(flyway, migrationStrategy.getIfAvailable()); } diff --git a/module/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/autoconfigure/endpoint/FlywayEndpointAutoConfiguration.java b/module/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/autoconfigure/endpoint/FlywayEndpointAutoConfiguration.java index 500219b2eba..7ba35587eb4 100644 --- a/module/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/autoconfigure/endpoint/FlywayEndpointAutoConfiguration.java +++ b/module/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/autoconfigure/endpoint/FlywayEndpointAutoConfiguration.java @@ -38,12 +38,12 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration(after = FlywayAutoConfiguration.class) @ConditionalOnClass({ Flyway.class, ConditionalOnAvailableEndpoint.class }) @ConditionalOnAvailableEndpoint(FlywayEndpoint.class) -public class FlywayEndpointAutoConfiguration { +public final class FlywayEndpointAutoConfiguration { @Bean @ConditionalOnBean(Flyway.class) @ConditionalOnMissingBean - public FlywayEndpoint flywayEndpoint(ApplicationContext context) { + FlywayEndpoint flywayEndpoint(ApplicationContext context) { return new FlywayEndpoint(context); } diff --git a/module/spring-boot-freemarker/src/main/java/org/springframework/boot/freemarker/autoconfigure/FreeMarkerAutoConfiguration.java b/module/spring-boot-freemarker/src/main/java/org/springframework/boot/freemarker/autoconfigure/FreeMarkerAutoConfiguration.java index 937c2efc05d..3e1d5d7e4ad 100644 --- a/module/spring-boot-freemarker/src/main/java/org/springframework/boot/freemarker/autoconfigure/FreeMarkerAutoConfiguration.java +++ b/module/spring-boot-freemarker/src/main/java/org/springframework/boot/freemarker/autoconfigure/FreeMarkerAutoConfiguration.java @@ -44,7 +44,7 @@ import org.springframework.ui.freemarker.FreeMarkerConfigurationFactory; @EnableConfigurationProperties(FreeMarkerProperties.class) @Import({ FreeMarkerServletWebConfiguration.class, FreeMarkerReactiveWebConfiguration.class, FreeMarkerNonWebConfiguration.class }) -public class FreeMarkerAutoConfiguration { +public final class FreeMarkerAutoConfiguration { private static final Log logger = LogFactory.getLog(FreeMarkerAutoConfiguration.class); @@ -52,13 +52,13 @@ public class FreeMarkerAutoConfiguration { private final FreeMarkerProperties properties; - public FreeMarkerAutoConfiguration(ApplicationContext applicationContext, FreeMarkerProperties properties) { + FreeMarkerAutoConfiguration(ApplicationContext applicationContext, FreeMarkerProperties properties) { this.applicationContext = applicationContext; this.properties = properties; checkTemplateLocationExists(); } - public void checkTemplateLocationExists() { + private void checkTemplateLocationExists() { if (logger.isWarnEnabled() && this.properties.isCheckTemplateLocation()) { List locations = getLocations(); if (locations.stream().noneMatch(this::locationExists)) { diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/GraphQlAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/GraphQlAutoConfiguration.java index 3e90b0ecfea..0800b181f18 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/GraphQlAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/GraphQlAutoConfiguration.java @@ -79,19 +79,19 @@ import org.springframework.graphql.execution.SubscriptionExceptionResolver; @ConditionalOnGraphQlSchema @EnableConfigurationProperties(GraphQlProperties.class) @ImportRuntimeHints(GraphQlAutoConfiguration.GraphQlResourcesRuntimeHints.class) -public class GraphQlAutoConfiguration { +public final class GraphQlAutoConfiguration { private static final Log logger = LogFactory.getLog(GraphQlAutoConfiguration.class); private final ListableBeanFactory beanFactory; - public GraphQlAutoConfiguration(ListableBeanFactory beanFactory) { + GraphQlAutoConfiguration(ListableBeanFactory beanFactory) { this.beanFactory = beanFactory; } @Bean @ConditionalOnMissingBean - public GraphQlSource graphQlSource(ResourcePatternResolver resourcePatternResolver, GraphQlProperties properties, + GraphQlSource graphQlSource(ResourcePatternResolver resourcePatternResolver, GraphQlProperties properties, ObjectProvider exceptionResolvers, ObjectProvider subscriptionExceptionResolvers, ObjectProvider instrumentations, ObjectProvider wiringConfigurers, @@ -143,13 +143,13 @@ public class GraphQlAutoConfiguration { @Bean @ConditionalOnMissingBean - public BatchLoaderRegistry batchLoaderRegistry() { + BatchLoaderRegistry batchLoaderRegistry() { return new DefaultBatchLoaderRegistry(); } @Bean @ConditionalOnMissingBean - public ExecutionGraphQlService executionGraphQlService(GraphQlSource graphQlSource, + ExecutionGraphQlService executionGraphQlService(GraphQlSource graphQlSource, BatchLoaderRegistry batchLoaderRegistry) { DefaultExecutionGraphQlService service = new DefaultExecutionGraphQlService(graphQlSource); service.addDataLoaderRegistrar(batchLoaderRegistry); @@ -158,7 +158,7 @@ public class GraphQlAutoConfiguration { @Bean @ConditionalOnMissingBean - public AnnotatedControllerConfigurer annotatedControllerConfigurer( + AnnotatedControllerConfigurer annotatedControllerConfigurer( @Qualifier(TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME) ObjectProvider executorProvider, ObjectProvider argumentResolvers) { AnnotatedControllerConfigurer controllerConfigurer = new AnnotatedControllerConfigurer(); diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlQueryByExampleAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlQueryByExampleAutoConfiguration.java index a8fd1de32d5..2c7fcef87f1 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlQueryByExampleAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlQueryByExampleAutoConfiguration.java @@ -47,10 +47,10 @@ import org.springframework.graphql.execution.RuntimeWiringConfigurer; @AutoConfiguration(after = GraphQlAutoConfiguration.class) @ConditionalOnClass({ GraphQL.class, QueryByExampleDataFetcher.class, QueryByExampleExecutor.class }) @ConditionalOnBean(GraphQlSource.class) -public class GraphQlQueryByExampleAutoConfiguration { +public final class GraphQlQueryByExampleAutoConfiguration { @Bean - public GraphQlSourceBuilderCustomizer queryByExampleRegistrar(ObjectProvider> executors) { + GraphQlSourceBuilderCustomizer queryByExampleRegistrar(ObjectProvider> executors) { RuntimeWiringConfigurer configurer = QueryByExampleDataFetcher .autoRegistrationConfigurer(executors.orderedStream().toList(), Collections.emptyList()); return (builder) -> builder.configureRuntimeWiring(configurer); diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlQuerydslAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlQuerydslAutoConfiguration.java index be6415d2853..8da88194533 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlQuerydslAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlQuerydslAutoConfiguration.java @@ -49,10 +49,10 @@ import org.springframework.graphql.execution.RuntimeWiringConfigurer; @AutoConfiguration(after = GraphQlAutoConfiguration.class) @ConditionalOnClass({ GraphQL.class, Query.class, QuerydslDataFetcher.class, QuerydslPredicateExecutor.class }) @ConditionalOnBean(GraphQlSource.class) -public class GraphQlQuerydslAutoConfiguration { +public final class GraphQlQuerydslAutoConfiguration { @Bean - public GraphQlSourceBuilderCustomizer querydslRegistrar(ObjectProvider> executors) { + GraphQlSourceBuilderCustomizer querydslRegistrar(ObjectProvider> executors) { RuntimeWiringConfigurer configurer = QuerydslDataFetcher .autoRegistrationConfigurer(executors.orderedStream().toList(), Collections.emptyList()); return (builder) -> builder.configureRuntimeWiring(configurer); diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlReactiveQueryByExampleAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlReactiveQueryByExampleAutoConfiguration.java index 7008be355cf..f5f2f639103 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlReactiveQueryByExampleAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlReactiveQueryByExampleAutoConfiguration.java @@ -47,10 +47,10 @@ import org.springframework.graphql.execution.RuntimeWiringConfigurer; @AutoConfiguration(after = GraphQlAutoConfiguration.class) @ConditionalOnClass({ GraphQL.class, QueryByExampleDataFetcher.class, ReactiveQueryByExampleExecutor.class }) @ConditionalOnBean(GraphQlSource.class) -public class GraphQlReactiveQueryByExampleAutoConfiguration { +public final class GraphQlReactiveQueryByExampleAutoConfiguration { @Bean - public GraphQlSourceBuilderCustomizer reactiveQueryByExampleRegistrar( + GraphQlSourceBuilderCustomizer reactiveQueryByExampleRegistrar( ObjectProvider> reactiveExecutors) { RuntimeWiringConfigurer configurer = QueryByExampleDataFetcher .autoRegistrationConfigurer(Collections.emptyList(), reactiveExecutors.orderedStream().toList()); diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlReactiveQuerydslAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlReactiveQuerydslAutoConfiguration.java index 3c2d6961487..f8de0ee42f9 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlReactiveQuerydslAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/data/GraphQlReactiveQuerydslAutoConfiguration.java @@ -49,10 +49,10 @@ import org.springframework.graphql.execution.RuntimeWiringConfigurer; @AutoConfiguration(after = GraphQlAutoConfiguration.class) @ConditionalOnClass({ GraphQL.class, Query.class, QuerydslDataFetcher.class, ReactiveQuerydslPredicateExecutor.class }) @ConditionalOnBean(GraphQlSource.class) -public class GraphQlReactiveQuerydslAutoConfiguration { +public final class GraphQlReactiveQuerydslAutoConfiguration { @Bean - public GraphQlSourceBuilderCustomizer reactiveQuerydslRegistrar( + GraphQlSourceBuilderCustomizer reactiveQuerydslRegistrar( ObjectProvider> reactiveExecutors) { RuntimeWiringConfigurer configurer = QuerydslDataFetcher.autoRegistrationConfigurer(Collections.emptyList(), reactiveExecutors.orderedStream().toList()); diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/observation/GraphQlObservationAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/observation/GraphQlObservationAutoConfiguration.java index e36f55f958d..9223138c442 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/observation/GraphQlObservationAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/observation/GraphQlObservationAutoConfiguration.java @@ -43,7 +43,7 @@ import org.springframework.graphql.observation.GraphQlObservationInstrumentation @AutoConfiguration(afterName = "org.springframework.boot.observation.autoconfigure.ObservationAutoConfiguration") @ConditionalOnBean(ObservationRegistry.class) @ConditionalOnClass({ GraphQL.class, GraphQlSource.class, Observation.class }) -public class GraphQlObservationAutoConfiguration { +public final class GraphQlObservationAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/reactive/GraphQlWebFluxAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/reactive/GraphQlWebFluxAutoConfiguration.java index bc2e42ff5e6..3fabd51ef4b 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/reactive/GraphQlWebFluxAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/reactive/GraphQlWebFluxAutoConfiguration.java @@ -82,35 +82,34 @@ import org.springframework.web.reactive.socket.server.support.WebSocketUpgradeHa @ConditionalOnBean(ExecutionGraphQlService.class) @EnableConfigurationProperties(GraphQlCorsProperties.class) @ImportRuntimeHints(GraphQlWebFluxAutoConfiguration.GraphiQlResourceHints.class) -public class GraphQlWebFluxAutoConfiguration { +public final class GraphQlWebFluxAutoConfiguration { private static final Log logger = LogFactory.getLog(GraphQlWebFluxAutoConfiguration.class); @Bean @ConditionalOnMissingBean - public GraphQlHttpHandler graphQlHttpHandler(WebGraphQlHandler webGraphQlHandler) { + GraphQlHttpHandler graphQlHttpHandler(WebGraphQlHandler webGraphQlHandler) { return new GraphQlHttpHandler(webGraphQlHandler); } @Bean @ConditionalOnMissingBean - public GraphQlSseHandler graphQlSseHandler(WebGraphQlHandler webGraphQlHandler, GraphQlProperties properties) { + GraphQlSseHandler graphQlSseHandler(WebGraphQlHandler webGraphQlHandler, GraphQlProperties properties) { return new GraphQlSseHandler(webGraphQlHandler, properties.getHttp().getSse().getTimeout(), properties.getHttp().getSse().getKeepAlive()); } @Bean @ConditionalOnMissingBean - public WebGraphQlHandler webGraphQlHandler(ExecutionGraphQlService service, + WebGraphQlHandler webGraphQlHandler(ExecutionGraphQlService service, ObjectProvider interceptors) { return WebGraphQlHandler.builder(service).interceptors(interceptors.orderedStream().toList()).build(); } @Bean @Order(0) - public RouterFunction graphQlRouterFunction(GraphQlHttpHandler httpHandler, - GraphQlSseHandler sseHandler, ObjectProvider graphQlSourceProvider, - GraphQlProperties properties) { + RouterFunction graphQlRouterFunction(GraphQlHttpHandler httpHandler, GraphQlSseHandler sseHandler, + ObjectProvider graphQlSourceProvider, GraphQlProperties properties) { String path = properties.getHttp().getPath(); logger.info(LogMessage.format("GraphQL endpoint HTTP POST %s", path)); RouterFunctions.Builder builder = RouterFunctions.route(); @@ -147,13 +146,13 @@ public class GraphQlWebFluxAutoConfiguration { } @Configuration(proxyBeanMethods = false) - public static class GraphQlEndpointCorsConfiguration implements WebFluxConfigurer { + static class GraphQlEndpointCorsConfiguration implements WebFluxConfigurer { final GraphQlProperties graphQlProperties; final GraphQlCorsProperties corsProperties; - public GraphQlEndpointCorsConfiguration(GraphQlProperties graphQlProps, GraphQlCorsProperties corsProps) { + GraphQlEndpointCorsConfiguration(GraphQlProperties graphQlProps, GraphQlCorsProperties corsProps) { this.graphQlProperties = graphQlProps; this.corsProperties = corsProps; } @@ -170,18 +169,18 @@ public class GraphQlWebFluxAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnProperty("spring.graphql.websocket.path") - public static class WebSocketConfiguration { + static class WebSocketConfiguration { @Bean @ConditionalOnMissingBean - public GraphQlWebSocketHandler graphQlWebSocketHandler(WebGraphQlHandler webGraphQlHandler, + GraphQlWebSocketHandler graphQlWebSocketHandler(WebGraphQlHandler webGraphQlHandler, GraphQlProperties properties, ServerCodecConfigurer configurer) { return new GraphQlWebSocketHandler(webGraphQlHandler, configurer, properties.getWebsocket().getConnectionInitTimeout(), properties.getWebsocket().getKeepAlive()); } @Bean - public HandlerMapping graphQlWebSocketEndpoint(GraphQlWebSocketHandler graphQlWebSocketHandler, + HandlerMapping graphQlWebSocketEndpoint(GraphQlWebSocketHandler graphQlWebSocketHandler, GraphQlProperties properties) { String path = properties.getWebsocket().getPath(); logger.info(LogMessage.format("GraphQL endpoint WebSocket %s", path)); diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/rsocket/GraphQlRSocketAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/rsocket/GraphQlRSocketAutoConfiguration.java index 897ccd620d5..d4f3a1c8df9 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/rsocket/GraphQlRSocketAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/rsocket/GraphQlRSocketAutoConfiguration.java @@ -49,12 +49,12 @@ import org.springframework.messaging.rsocket.annotation.support.RSocketMessageHa @ConditionalOnClass({ GraphQL.class, GraphQlSource.class, RSocketServer.class, HttpServer.class }) @ConditionalOnBean({ RSocketMessageHandler.class, AnnotatedControllerConfigurer.class }) @ConditionalOnProperty("spring.graphql.rsocket.mapping") -public class GraphQlRSocketAutoConfiguration { +public final class GraphQlRSocketAutoConfiguration { @Bean @ConditionalOnMissingBean @SuppressWarnings({ "removal", "deprecation" }) - public GraphQlRSocketHandler graphQlRSocketHandler(ExecutionGraphQlService graphQlService, + GraphQlRSocketHandler graphQlRSocketHandler(ExecutionGraphQlService graphQlService, ObjectProvider interceptors, ObjectMapper objectMapper) { return new GraphQlRSocketHandler(graphQlService, interceptors.orderedStream().toList(), new org.springframework.http.codec.json.Jackson2JsonEncoder(objectMapper)); @@ -62,7 +62,7 @@ public class GraphQlRSocketAutoConfiguration { @Bean @ConditionalOnMissingBean - public GraphQlRSocketController graphQlRSocketController(GraphQlRSocketHandler handler) { + GraphQlRSocketController graphQlRSocketController(GraphQlRSocketHandler handler) { return new GraphQlRSocketController(handler); } diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/rsocket/RSocketGraphQlClientAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/rsocket/RSocketGraphQlClientAutoConfiguration.java index 3ac76eaf3dd..cdf18cf9d10 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/rsocket/RSocketGraphQlClientAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/rsocket/RSocketGraphQlClientAutoConfiguration.java @@ -44,13 +44,12 @@ import org.springframework.util.MimeTypeUtils; @AutoConfiguration(afterName = "org.springframework.boot.rsocket.autoconfigure.RSocketRequesterAutoConfiguration") @ConditionalOnClass({ GraphQL.class, RSocketGraphQlClient.class, RSocketRequester.class, RSocket.class, TcpClientTransport.class }) -public class RSocketGraphQlClientAutoConfiguration { +public final class RSocketGraphQlClientAutoConfiguration { @Bean @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @ConditionalOnMissingBean - public RSocketGraphQlClient.Builder rsocketGraphQlClientBuilder( - RSocketRequester.Builder rsocketRequesterBuilder) { + RSocketGraphQlClient.Builder rsocketGraphQlClientBuilder(RSocketRequester.Builder rsocketRequesterBuilder) { return RSocketGraphQlClient.builder(rsocketRequesterBuilder.dataMimeType(MimeTypeUtils.APPLICATION_JSON)); } diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/security/GraphQlWebFluxSecurityAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/security/GraphQlWebFluxSecurityAutoConfiguration.java index cff64164871..a1facad4ba1 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/security/GraphQlWebFluxSecurityAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/security/GraphQlWebFluxSecurityAutoConfiguration.java @@ -42,11 +42,11 @@ import org.springframework.security.config.annotation.web.reactive.EnableWebFlux @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnClass({ GraphQL.class, GraphQlHttpHandler.class, EnableWebFluxSecurity.class }) @ConditionalOnBean(GraphQlHttpHandler.class) -public class GraphQlWebFluxSecurityAutoConfiguration { +public final class GraphQlWebFluxSecurityAutoConfiguration { @Bean @ConditionalOnMissingBean - public ReactiveSecurityDataFetcherExceptionResolver reactiveSecurityDataFetcherExceptionResolver() { + ReactiveSecurityDataFetcherExceptionResolver reactiveSecurityDataFetcherExceptionResolver() { return new ReactiveSecurityDataFetcherExceptionResolver(); } diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/security/GraphQlWebMvcSecurityAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/security/GraphQlWebMvcSecurityAutoConfiguration.java index 4be7394a643..844699f7c43 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/security/GraphQlWebMvcSecurityAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/security/GraphQlWebMvcSecurityAutoConfiguration.java @@ -42,11 +42,11 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass({ GraphQL.class, GraphQlHttpHandler.class, EnableWebSecurity.class }) @ConditionalOnBean(GraphQlHttpHandler.class) -public class GraphQlWebMvcSecurityAutoConfiguration { +public final class GraphQlWebMvcSecurityAutoConfiguration { @Bean @ConditionalOnMissingBean - public SecurityDataFetcherExceptionResolver securityDataFetcherExceptionResolver() { + SecurityDataFetcherExceptionResolver securityDataFetcherExceptionResolver() { return new SecurityDataFetcherExceptionResolver(); } diff --git a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/servlet/GraphQlWebMvcAutoConfiguration.java b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/servlet/GraphQlWebMvcAutoConfiguration.java index efbc9555670..2bc28a66d17 100644 --- a/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/servlet/GraphQlWebMvcAutoConfiguration.java +++ b/module/spring-boot-graphql/src/main/java/org/springframework/boot/graphql/autoconfigure/servlet/GraphQlWebMvcAutoConfiguration.java @@ -86,35 +86,34 @@ import org.springframework.web.socket.server.support.WebSocketHandlerMapping; @ConditionalOnBean(ExecutionGraphQlService.class) @EnableConfigurationProperties(GraphQlCorsProperties.class) @ImportRuntimeHints(GraphQlWebMvcAutoConfiguration.GraphiQlResourceHints.class) -public class GraphQlWebMvcAutoConfiguration { +public final class GraphQlWebMvcAutoConfiguration { private static final Log logger = LogFactory.getLog(GraphQlWebMvcAutoConfiguration.class); @Bean @ConditionalOnMissingBean - public GraphQlHttpHandler graphQlHttpHandler(WebGraphQlHandler webGraphQlHandler) { + GraphQlHttpHandler graphQlHttpHandler(WebGraphQlHandler webGraphQlHandler) { return new GraphQlHttpHandler(webGraphQlHandler); } @Bean @ConditionalOnMissingBean - public GraphQlSseHandler graphQlSseHandler(WebGraphQlHandler webGraphQlHandler, GraphQlProperties properties) { + GraphQlSseHandler graphQlSseHandler(WebGraphQlHandler webGraphQlHandler, GraphQlProperties properties) { return new GraphQlSseHandler(webGraphQlHandler, properties.getHttp().getSse().getTimeout(), properties.getHttp().getSse().getKeepAlive()); } @Bean @ConditionalOnMissingBean - public WebGraphQlHandler webGraphQlHandler(ExecutionGraphQlService service, + WebGraphQlHandler webGraphQlHandler(ExecutionGraphQlService service, ObjectProvider interceptors) { return WebGraphQlHandler.builder(service).interceptors(interceptors.orderedStream().toList()).build(); } @Bean @Order(0) - public RouterFunction graphQlRouterFunction(GraphQlHttpHandler httpHandler, - GraphQlSseHandler sseHandler, ObjectProvider graphQlSourceProvider, - GraphQlProperties properties) { + RouterFunction graphQlRouterFunction(GraphQlHttpHandler httpHandler, GraphQlSseHandler sseHandler, + ObjectProvider graphQlSourceProvider, GraphQlProperties properties) { String path = properties.getHttp().getPath(); logger.info(LogMessage.format("GraphQL endpoint HTTP POST %s", path)); RouterFunctions.Builder builder = RouterFunctions.route(); @@ -151,13 +150,13 @@ public class GraphQlWebMvcAutoConfiguration { } @Configuration(proxyBeanMethods = false) - public static class GraphQlEndpointCorsConfiguration implements WebMvcConfigurer { + static class GraphQlEndpointCorsConfiguration implements WebMvcConfigurer { final GraphQlProperties graphQlProperties; final GraphQlCorsProperties corsProperties; - public GraphQlEndpointCorsConfiguration(GraphQlProperties graphQlProps, GraphQlCorsProperties corsProps) { + GraphQlEndpointCorsConfiguration(GraphQlProperties graphQlProps, GraphQlCorsProperties corsProps) { this.graphQlProperties = graphQlProps; this.corsProperties = corsProps; } @@ -175,11 +174,11 @@ public class GraphQlWebMvcAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ HttpMessageConverters.class, ServerContainer.class, WebSocketHandler.class }) @ConditionalOnProperty("spring.graphql.websocket.path") - public static class WebSocketConfiguration { + static class WebSocketConfiguration { @Bean @ConditionalOnMissingBean - public GraphQlWebSocketHandler graphQlWebSocketHandler(WebGraphQlHandler webGraphQlHandler, + GraphQlWebSocketHandler graphQlWebSocketHandler(WebGraphQlHandler webGraphQlHandler, GraphQlProperties properties, HttpMessageConverters converters) { return new GraphQlWebSocketHandler(webGraphQlHandler, getJsonConverter(converters), properties.getWebsocket().getConnectionInitTimeout(), properties.getWebsocket().getKeepAlive()); @@ -204,7 +203,7 @@ public class GraphQlWebMvcAutoConfiguration { } @Bean - public HandlerMapping graphQlWebSocketMapping(GraphQlWebSocketHandler handler, GraphQlProperties properties) { + HandlerMapping graphQlWebSocketMapping(GraphQlWebSocketHandler handler, GraphQlProperties properties) { String path = properties.getWebsocket().getPath(); logger.info(LogMessage.format("GraphQL endpoint WebSocket %s", path)); WebSocketHandlerMapping mapping = new WebSocketHandlerMapping(); diff --git a/module/spring-boot-groovy-templates/src/main/java/org/springframework/boot/groovy/template/autoconfigure/GroovyTemplateAutoConfiguration.java b/module/spring-boot-groovy-templates/src/main/java/org/springframework/boot/groovy/template/autoconfigure/GroovyTemplateAutoConfiguration.java index abeb1316a9c..afc48d813a7 100644 --- a/module/spring-boot-groovy-templates/src/main/java/org/springframework/boot/groovy/template/autoconfigure/GroovyTemplateAutoConfiguration.java +++ b/module/spring-boot-groovy-templates/src/main/java/org/springframework/boot/groovy/template/autoconfigure/GroovyTemplateAutoConfiguration.java @@ -61,25 +61,25 @@ import org.springframework.web.servlet.view.groovy.GroovyMarkupViewResolver; @AutoConfiguration @ConditionalOnClass(MarkupTemplateEngine.class) @EnableConfigurationProperties(GroovyTemplateProperties.class) -public class GroovyTemplateAutoConfiguration { +public final class GroovyTemplateAutoConfiguration { private static final Log logger = LogFactory.getLog(GroovyTemplateAutoConfiguration.class); @Configuration(proxyBeanMethods = false) @ConditionalOnClass(GroovyMarkupConfigurer.class) - public static class GroovyMarkupConfiguration { + static class GroovyMarkupConfiguration { private final ApplicationContext applicationContext; private final GroovyTemplateProperties properties; - public GroovyMarkupConfiguration(ApplicationContext applicationContext, GroovyTemplateProperties properties) { + GroovyMarkupConfiguration(ApplicationContext applicationContext, GroovyTemplateProperties properties) { this.applicationContext = applicationContext; this.properties = properties; checkTemplateLocationExists(); } - public void checkTemplateLocationExists() { + private void checkTemplateLocationExists() { if (this.properties.isCheckTemplateLocation() && !isUsingGroovyAllJar()) { TemplateLocation location = new TemplateLocation(this.properties.getResourceLoaderPath()); if (!location.exists(this.applicationContext)) { @@ -138,11 +138,11 @@ public class GroovyTemplateAutoConfiguration { @ConditionalOnClass({ Servlet.class, LocaleContextHolder.class, UrlBasedViewResolver.class }) @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnBooleanProperty(name = "spring.groovy.template.enabled", matchIfMissing = true) - public static class GroovyWebConfiguration { + static class GroovyWebConfiguration { @Bean @ConditionalOnMissingBean(name = "groovyMarkupViewResolver") - public GroovyMarkupViewResolver groovyMarkupViewResolver(GroovyTemplateProperties properties) { + GroovyMarkupViewResolver groovyMarkupViewResolver(GroovyTemplateProperties properties) { GroovyMarkupViewResolver resolver = new GroovyMarkupViewResolver(); properties.applyToMvcViewResolver(resolver); return resolver; diff --git a/module/spring-boot-gson/src/main/java/org/springframework/boot/gson/autoconfigure/GsonAutoConfiguration.java b/module/spring-boot-gson/src/main/java/org/springframework/boot/gson/autoconfigure/GsonAutoConfiguration.java index da57ff143b6..9c7af376d84 100644 --- a/module/spring-boot-gson/src/main/java/org/springframework/boot/gson/autoconfigure/GsonAutoConfiguration.java +++ b/module/spring-boot-gson/src/main/java/org/springframework/boot/gson/autoconfigure/GsonAutoConfiguration.java @@ -43,11 +43,11 @@ import org.springframework.util.ClassUtils; @AutoConfiguration @ConditionalOnClass(Gson.class) @EnableConfigurationProperties(GsonProperties.class) -public class GsonAutoConfiguration { +public final class GsonAutoConfiguration { @Bean @ConditionalOnMissingBean - public GsonBuilder gsonBuilder(List customizers) { + GsonBuilder gsonBuilder(List customizers) { GsonBuilder builder = new GsonBuilder(); customizers.forEach((c) -> c.customize(builder)); return builder; @@ -55,12 +55,12 @@ public class GsonAutoConfiguration { @Bean @ConditionalOnMissingBean - public Gson gson(GsonBuilder gsonBuilder) { + Gson gson(GsonBuilder gsonBuilder) { return gsonBuilder.create(); } @Bean - public StandardGsonBuilderCustomizer standardGsonBuilderCustomizer(GsonProperties gsonProperties) { + StandardGsonBuilderCustomizer standardGsonBuilderCustomizer(GsonProperties gsonProperties) { return new StandardGsonBuilderCustomizer(gsonProperties); } diff --git a/module/spring-boot-h2console/src/main/java/org/springframework/boot/h2console/autoconfigure/H2ConsoleAutoConfiguration.java b/module/spring-boot-h2console/src/main/java/org/springframework/boot/h2console/autoconfigure/H2ConsoleAutoConfiguration.java index 77b19d6f6ab..445f35e2a46 100644 --- a/module/spring-boot-h2console/src/main/java/org/springframework/boot/h2console/autoconfigure/H2ConsoleAutoConfiguration.java +++ b/module/spring-boot-h2console/src/main/java/org/springframework/boot/h2console/autoconfigure/H2ConsoleAutoConfiguration.java @@ -53,7 +53,7 @@ import org.springframework.core.log.LogMessage; @ConditionalOnClass(JakartaWebServlet.class) @ConditionalOnBooleanProperty("spring.h2.console.enabled") @EnableConfigurationProperties(H2ConsoleProperties.class) -public class H2ConsoleAutoConfiguration { +public final class H2ConsoleAutoConfiguration { private static final Log logger = LogFactory.getLog(H2ConsoleAutoConfiguration.class); @@ -64,7 +64,7 @@ public class H2ConsoleAutoConfiguration { } @Bean - public ServletRegistrationBean h2Console() { + ServletRegistrationBean h2Console() { String path = this.properties.getPath(); String urlMapping = path + (path.endsWith("/") ? "*" : "/*"); ServletRegistrationBean registration = new ServletRegistrationBean<>(new JakartaWebServlet(), diff --git a/module/spring-boot-hateoas/src/main/java/org/springframework/boot/hateoas/autoconfigure/HypermediaAutoConfiguration.java b/module/spring-boot-hateoas/src/main/java/org/springframework/boot/hateoas/autoconfigure/HypermediaAutoConfiguration.java index f177d2dcf77..b1d6bbdf66b 100644 --- a/module/spring-boot-hateoas/src/main/java/org/springframework/boot/hateoas/autoconfigure/HypermediaAutoConfiguration.java +++ b/module/spring-boot-hateoas/src/main/java/org/springframework/boot/hateoas/autoconfigure/HypermediaAutoConfiguration.java @@ -51,7 +51,7 @@ import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandl ObjectMapper.class }) @ConditionalOnWebApplication @EnableConfigurationProperties(HateoasProperties.class) -public class HypermediaAutoConfiguration { +public final class HypermediaAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/HazelcastAutoConfiguration.java b/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/HazelcastAutoConfiguration.java index 4477ee2c467..0de68a3cbb4 100644 --- a/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/HazelcastAutoConfiguration.java +++ b/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/HazelcastAutoConfiguration.java @@ -38,6 +38,6 @@ import org.springframework.context.annotation.Import; @ConditionalOnClass(HazelcastInstance.class) @EnableConfigurationProperties(HazelcastProperties.class) @Import({ HazelcastClientConfiguration.class, HazelcastServerConfiguration.class }) -public class HazelcastAutoConfiguration { +public final class HazelcastAutoConfiguration { } diff --git a/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/HazelcastJpaDependencyAutoConfiguration.java b/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/HazelcastJpaDependencyAutoConfiguration.java index 2b49cd82876..6266ca4ed64 100644 --- a/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/HazelcastJpaDependencyAutoConfiguration.java +++ b/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/HazelcastJpaDependencyAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; afterName = "org.springframework.boot.hibernate.autoconfigure.HibernateJpaAutoConfiguration") @ConditionalOnClass({ HazelcastInstance.class, LocalContainerEntityManagerFactoryBean.class }) @Import(HazelcastInstanceEntityManagerFactoryDependsOnConfiguration.class) -public class HazelcastJpaDependencyAutoConfiguration { +public final class HazelcastJpaDependencyAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(EntityManagerFactoryDependsOnPostProcessor.class) diff --git a/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfiguration.java b/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfiguration.java index 705a51706da..69976c44bd6 100644 --- a/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfiguration.java +++ b/module/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfiguration.java @@ -42,16 +42,16 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ HazelcastInstance.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(HazelcastInstance.class) @ConditionalOnEnabledHealthIndicator("hazelcast") -public class HazelcastHealthContributorAutoConfiguration +public final class HazelcastHealthContributorAutoConfiguration extends CompositeHealthContributorConfiguration { - public HazelcastHealthContributorAutoConfiguration() { + HazelcastHealthContributorAutoConfiguration() { super(HazelcastHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "hazelcastHealthIndicator", "hazelcastHealthContributor" }) - public HealthContributor hazelcastHealthContributor(ConfigurableListableBeanFactory beanFactory) { + HealthContributor hazelcastHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, HazelcastInstance.class); } diff --git a/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/contributor/HealthContributorAutoConfiguration.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/contributor/HealthContributorAutoConfiguration.java index a86e406c0d2..cb1a10419bd 100644 --- a/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/contributor/HealthContributorAutoConfiguration.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/contributor/HealthContributorAutoConfiguration.java @@ -30,11 +30,11 @@ import org.springframework.context.annotation.Bean; * @since 4.0.0 */ @AutoConfiguration -public class HealthContributorAutoConfiguration { +public final class HealthContributorAutoConfiguration { @Bean @ConditionalOnEnabledHealthIndicator("ping") - public PingHealthIndicator pingHealthContributor() { + PingHealthIndicator pingHealthContributor() { return new PingHealthIndicator(); } diff --git a/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/registry/HealthContributorRegistryAutoConfiguration.java b/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/registry/HealthContributorRegistryAutoConfiguration.java index 43f3949c299..99041c523ce 100644 --- a/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/registry/HealthContributorRegistryAutoConfiguration.java +++ b/module/spring-boot-health/src/main/java/org/springframework/boot/health/autoconfigure/registry/HealthContributorRegistryAutoConfiguration.java @@ -43,7 +43,7 @@ import org.springframework.context.annotation.Bean; * @since 4.0.0 */ @AutoConfiguration -public class HealthContributorRegistryAutoConfiguration { +public final class HealthContributorRegistryAutoConfiguration { HealthContributorRegistryAutoConfiguration() { } diff --git a/module/spring-boot-hibernate/src/main/java/org/springframework/boot/hibernate/autoconfigure/HibernateJpaAutoConfiguration.java b/module/spring-boot-hibernate/src/main/java/org/springframework/boot/hibernate/autoconfigure/HibernateJpaAutoConfiguration.java index a65a66ccca4..1357af4f897 100644 --- a/module/spring-boot-hibernate/src/main/java/org/springframework/boot/hibernate/autoconfigure/HibernateJpaAutoConfiguration.java +++ b/module/spring-boot-hibernate/src/main/java/org/springframework/boot/hibernate/autoconfigure/HibernateJpaAutoConfiguration.java @@ -48,6 +48,6 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; @ConditionalOnClass({ LocalContainerEntityManagerFactoryBean.class, EntityManager.class, SessionImplementor.class }) @EnableConfigurationProperties(JpaProperties.class) @Import(HibernateJpaConfiguration.class) -public class HibernateJpaAutoConfiguration { +public final class HibernateJpaAutoConfiguration { } diff --git a/module/spring-boot-hibernate/src/main/java/org/springframework/boot/hibernate/autoconfigure/metrics/HibernateMetricsAutoConfiguration.java b/module/spring-boot-hibernate/src/main/java/org/springframework/boot/hibernate/autoconfigure/metrics/HibernateMetricsAutoConfiguration.java index 3f27435d831..4a5e230e912 100644 --- a/module/spring-boot-hibernate/src/main/java/org/springframework/boot/hibernate/autoconfigure/metrics/HibernateMetricsAutoConfiguration.java +++ b/module/spring-boot-hibernate/src/main/java/org/springframework/boot/hibernate/autoconfigure/metrics/HibernateMetricsAutoConfiguration.java @@ -47,7 +47,7 @@ import org.springframework.util.StringUtils; afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration") @ConditionalOnClass({ EntityManagerFactory.class, SessionFactory.class, HibernateMetrics.class, MeterRegistry.class }) @ConditionalOnBean({ EntityManagerFactory.class, MeterRegistry.class }) -public class HibernateMetricsAutoConfiguration implements SmartInitializingSingleton { +public final class HibernateMetricsAutoConfiguration implements SmartInitializingSingleton { private static final String ENTITY_MANAGER_FACTORY_SUFFIX = "entityManagerFactory"; @@ -55,7 +55,7 @@ public class HibernateMetricsAutoConfiguration implements SmartInitializingSingl private final MeterRegistry meterRegistry; - public HibernateMetricsAutoConfiguration(ConfigurableListableBeanFactory beanFactory, MeterRegistry meterRegistry) { + HibernateMetricsAutoConfiguration(ConfigurableListableBeanFactory beanFactory, MeterRegistry meterRegistry) { this.entityManagerFactories = SimpleAutowireCandidateResolver.resolveAutowireCandidates(beanFactory, EntityManagerFactory.class); this.meterRegistry = meterRegistry; @@ -66,7 +66,7 @@ public class HibernateMetricsAutoConfiguration implements SmartInitializingSingl bindEntityManagerFactoriesToRegistry(this.entityManagerFactories, this.meterRegistry); } - public void bindEntityManagerFactoriesToRegistry(Map entityManagerFactories, + private void bindEntityManagerFactoriesToRegistry(Map entityManagerFactories, MeterRegistry registry) { entityManagerFactories.forEach((name, factory) -> bindEntityManagerFactoryToRegistry(name, factory, registry)); } diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientAutoConfiguration.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientAutoConfiguration.java index cb78b816aa0..aa1f3fd94cb 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientAutoConfiguration.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientAutoConfiguration.java @@ -46,7 +46,7 @@ import org.springframework.http.client.ClientHttpRequestFactory; @ConditionalOnClass(ClientHttpRequestFactory.class) @Conditional(NotReactiveWebApplicationCondition.class) @EnableConfigurationProperties(HttpClientProperties.class) -public class HttpClientAutoConfiguration implements BeanClassLoaderAware { +public final class HttpClientAutoConfiguration implements BeanClassLoaderAware { private final ClientHttpRequestFactories factories; diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/metrics/HttpClientMetricsAutoConfiguration.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/metrics/HttpClientMetricsAutoConfiguration.java index 69f67b5ff35..92dee666ed6 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/metrics/HttpClientMetricsAutoConfiguration.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/metrics/HttpClientMetricsAutoConfiguration.java @@ -46,7 +46,7 @@ import org.springframework.core.annotation.Order; @ConditionalOnClass({ ObservationProperties.class, MeterRegistry.class, MetricsProperties.class }) @ConditionalOnBean(MeterRegistry.class) @EnableConfigurationProperties({ MetricsProperties.class, ObservationProperties.class }) -public class HttpClientMetricsAutoConfiguration { +public final class HttpClientMetricsAutoConfiguration { @Bean @Order(0) diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/reactive/ClientHttpConnectorAutoConfiguration.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/reactive/ClientHttpConnectorAutoConfiguration.java index 4d5db4705fa..5ce31fd84f3 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/reactive/ClientHttpConnectorAutoConfiguration.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/reactive/ClientHttpConnectorAutoConfiguration.java @@ -51,7 +51,7 @@ import org.springframework.http.client.reactive.ClientHttpConnector; @ConditionalOnClass({ ClientHttpConnector.class, Mono.class }) @Conditional(ConditionalOnClientHttpConnectorBuilderDetection.class) @EnableConfigurationProperties(HttpReactiveClientProperties.class) -public class ClientHttpConnectorAutoConfiguration implements BeanClassLoaderAware { +public final class ClientHttpConnectorAutoConfiguration implements BeanClassLoaderAware { private final ClientHttpConnectors connectors; diff --git a/module/spring-boot-http-codec/src/main/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfiguration.java b/module/spring-boot-http-codec/src/main/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfiguration.java index c2a294025b9..7266b290d7c 100644 --- a/module/spring-boot-http-codec/src/main/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfiguration.java +++ b/module/spring-boot-http-codec/src/main/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfiguration.java @@ -45,7 +45,7 @@ import org.springframework.web.reactive.function.client.WebClient; */ @AutoConfiguration(afterName = "org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration") @ConditionalOnClass({ CodecConfigurer.class, WebClient.class }) -public class CodecsAutoConfiguration { +public final class CodecsAutoConfiguration { private static final MimeType[] EMPTY_MIME_TYPES = {}; diff --git a/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/HttpMessageConvertersAutoConfiguration.java b/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/HttpMessageConvertersAutoConfiguration.java index 1c9f14999a0..3c17b217c9b 100644 --- a/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/HttpMessageConvertersAutoConfiguration.java +++ b/module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/HttpMessageConvertersAutoConfiguration.java @@ -54,13 +54,13 @@ import org.springframework.http.converter.StringHttpMessageConverter; @Conditional(NotReactiveWebApplicationCondition.class) @Import({ JacksonHttpMessageConvertersConfiguration.class, GsonHttpMessageConvertersConfiguration.class, JsonbHttpMessageConvertersConfiguration.class }) -public class HttpMessageConvertersAutoConfiguration { +public final class HttpMessageConvertersAutoConfiguration { static final String PREFERRED_MAPPER_PROPERTY = "spring.http.converters.preferred-json-mapper"; @Bean @ConditionalOnMissingBean - public HttpMessageConverters messageConverters(ObjectProvider> converters) { + HttpMessageConverters messageConverters(ObjectProvider> converters) { return new HttpMessageConverters(converters.orderedStream().toList()); } @@ -71,7 +71,7 @@ public class HttpMessageConvertersAutoConfiguration { @Bean @ConditionalOnMissingBean - public StringHttpMessageConverter stringHttpMessageConverter(HttpMessageConvertersProperties properties) { + StringHttpMessageConverter stringHttpMessageConverter(HttpMessageConvertersProperties properties) { StringHttpMessageConverter converter = new StringHttpMessageConverter( properties.getStringEncodingCharset()); converter.setWriteAcceptCharset(false); diff --git a/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/IntegrationAutoConfiguration.java b/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/IntegrationAutoConfiguration.java index 02ad3493826..0d756db53d6 100644 --- a/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/IntegrationAutoConfiguration.java +++ b/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/IntegrationAutoConfiguration.java @@ -92,11 +92,11 @@ import org.springframework.util.StringUtils; afterName = "org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration") @ConditionalOnClass(EnableIntegration.class) @EnableConfigurationProperties({ IntegrationProperties.class, JmxProperties.class }) -public class IntegrationAutoConfiguration { +public final class IntegrationAutoConfiguration { @Bean(name = IntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAME) @ConditionalOnMissingBean(name = IntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAME) - public static org.springframework.integration.context.IntegrationProperties integrationGlobalProperties( + static org.springframework.integration.context.IntegrationProperties integrationGlobalProperties( IntegrationProperties properties) { org.springframework.integration.context.IntegrationProperties integrationProperties = new org.springframework.integration.context.IntegrationProperties(); PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull(); @@ -131,7 +131,7 @@ public class IntegrationAutoConfiguration { @Bean(PollerMetadata.DEFAULT_POLLER) @ConditionalOnMissingBean(name = PollerMetadata.DEFAULT_POLLER) - public PollerMetadata defaultPollerMetadata(IntegrationProperties integrationProperties, + PollerMetadata defaultPollerMetadata(IntegrationProperties integrationProperties, ObjectProvider customizers) { IntegrationProperties.Poller poller = integrationProperties.getPoller(); MutuallyExclusiveConfigurationPropertiesException.throwIfMultipleNonNullValuesIn((entries) -> { @@ -187,14 +187,14 @@ public class IntegrationAutoConfiguration { @Bean(name = IntegrationContextUtils.TASK_SCHEDULER_BEAN_NAME) @ConditionalOnBean(ThreadPoolTaskSchedulerBuilder.class) @ConditionalOnThreading(Threading.PLATFORM) - public ThreadPoolTaskScheduler taskScheduler(ThreadPoolTaskSchedulerBuilder threadPoolTaskSchedulerBuilder) { + ThreadPoolTaskScheduler taskScheduler(ThreadPoolTaskSchedulerBuilder threadPoolTaskSchedulerBuilder) { return threadPoolTaskSchedulerBuilder.build(); } @Bean(name = IntegrationContextUtils.TASK_SCHEDULER_BEAN_NAME) @ConditionalOnBean(SimpleAsyncTaskSchedulerBuilder.class) @ConditionalOnThreading(Threading.VIRTUAL) - public SimpleAsyncTaskScheduler taskSchedulerVirtualThreads( + SimpleAsyncTaskScheduler taskSchedulerVirtualThreads( SimpleAsyncTaskSchedulerBuilder simpleAsyncTaskSchedulerBuilder) { return simpleAsyncTaskSchedulerBuilder.build(); } @@ -212,7 +212,7 @@ public class IntegrationAutoConfiguration { protected static class IntegrationJmxConfiguration { @Bean - public static IntegrationMBeanExporter integrationMbeanExporter(ApplicationContext applicationContext) { + static IntegrationMBeanExporter integrationMbeanExporter(ApplicationContext applicationContext) { return new IntegrationMBeanExporter() { @Override @@ -323,7 +323,7 @@ public class IntegrationAutoConfiguration { @Bean @ConditionalOnMissingBean(ServerRSocketMessageHandler.class) - public RSocketMessageHandler serverRSocketMessageHandler(RSocketStrategies rSocketStrategies, + RSocketMessageHandler serverRSocketMessageHandler(RSocketStrategies rSocketStrategies, IntegrationProperties integrationProperties) { RSocketMessageHandler messageHandler = new ServerRSocketMessageHandler( @@ -334,7 +334,7 @@ public class IntegrationAutoConfiguration { @Bean @ConditionalOnMissingBean - public ServerRSocketConnector serverRSocketConnector(ServerRSocketMessageHandler messageHandler) { + ServerRSocketConnector serverRSocketConnector(ServerRSocketMessageHandler messageHandler) { return new ServerRSocketConnector(messageHandler); } @@ -346,7 +346,7 @@ public class IntegrationAutoConfiguration { @Bean @ConditionalOnMissingBean @Conditional(RemoteRSocketServerAddressConfigured.class) - public ClientRSocketConnector clientRSocketConnector(IntegrationProperties integrationProperties, + ClientRSocketConnector clientRSocketConnector(IntegrationProperties integrationProperties, RSocketStrategies rSocketStrategies) { IntegrationProperties.RSocket.Client client = integrationProperties.getRsocket().getClient(); diff --git a/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/endpoint/IntegrationGraphEndpointAutoConfiguration.java b/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/endpoint/IntegrationGraphEndpointAutoConfiguration.java index 4297151c991..931e0bb727f 100644 --- a/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/endpoint/IntegrationGraphEndpointAutoConfiguration.java +++ b/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/endpoint/IntegrationGraphEndpointAutoConfiguration.java @@ -41,17 +41,17 @@ import org.springframework.integration.graph.IntegrationGraphServer; ConditionalOnAvailableEndpoint.class }) @ConditionalOnBean(IntegrationConfigurationBeanFactoryPostProcessor.class) @ConditionalOnAvailableEndpoint(IntegrationGraphEndpoint.class) -public class IntegrationGraphEndpointAutoConfiguration { +public final class IntegrationGraphEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public IntegrationGraphEndpoint integrationGraphEndpoint(IntegrationGraphServer integrationGraphServer) { + IntegrationGraphEndpoint integrationGraphEndpoint(IntegrationGraphServer integrationGraphServer) { return new IntegrationGraphEndpoint(integrationGraphServer); } @Bean @ConditionalOnMissingBean - public IntegrationGraphServer integrationGraphServer() { + IntegrationGraphServer integrationGraphServer() { return new IntegrationGraphServer(); } diff --git a/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/metrics/IntegrationMetricsAutoConfiguration.java b/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/metrics/IntegrationMetricsAutoConfiguration.java index d3090a8c83b..1355088a024 100644 --- a/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/metrics/IntegrationMetricsAutoConfiguration.java +++ b/module/spring-boot-integration/src/main/java/org/springframework/boot/integration/autoconfigure/metrics/IntegrationMetricsAutoConfiguration.java @@ -29,9 +29,10 @@ import org.springframework.boot.integration.autoconfigure.IntegrationAutoConfigu * for it. * * @author Andy Wilkinson + * @since 4.0.0 */ @AutoConfiguration(before = IntegrationAutoConfiguration.class, afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration") -class IntegrationMetricsAutoConfiguration { +public final class IntegrationMetricsAutoConfiguration { } diff --git a/module/spring-boot-jackson/src/main/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfiguration.java b/module/spring-boot-jackson/src/main/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfiguration.java index a9685aecc04..7e0b758313e 100644 --- a/module/spring-boot-jackson/src/main/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfiguration.java +++ b/module/spring-boot-jackson/src/main/java/org/springframework/boot/jackson/autoconfigure/JacksonAutoConfiguration.java @@ -87,7 +87,7 @@ import org.springframework.util.ReflectionUtils; @AutoConfiguration @ConditionalOnClass(ObjectMapper.class) @SuppressWarnings("removal") -public class JacksonAutoConfiguration { +public final class JacksonAutoConfiguration { private static final Map FEATURE_DEFAULTS; @@ -99,7 +99,7 @@ public class JacksonAutoConfiguration { } @Bean - public JsonComponentModule jsonComponentModule() { + JsonComponentModule jsonComponentModule() { return new JsonComponentModule(); } diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceAutoConfiguration.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceAutoConfiguration.java index 8399cfe7724..700e58ff0a1 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceAutoConfiguration.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceAutoConfiguration.java @@ -59,7 +59,7 @@ import org.springframework.util.StringUtils; @ConditionalOnMissingBean(type = "io.r2dbc.spi.ConnectionFactory") @EnableConfigurationProperties(DataSourceProperties.class) @Import({ DataSourcePoolMetadataProvidersConfiguration.class, DataSourceCheckpointRestoreConfiguration.class }) -public class DataSourceAutoConfiguration { +public final class DataSourceAutoConfiguration { @Configuration(proxyBeanMethods = false) @Conditional(EmbeddedDatabaseCondition.class) diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceInitializationAutoConfiguration.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceInitializationAutoConfiguration.java index 92a1193af0d..e0b1300bc5e 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceInitializationAutoConfiguration.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceInitializationAutoConfiguration.java @@ -48,7 +48,7 @@ import org.springframework.util.StringUtils; @Import(DatabaseInitializationDependencyConfigurer.class) @EnableConfigurationProperties(SqlInitializationProperties.class) @ConditionalOnSqlInitialization -public class DataSourceInitializationAutoConfiguration { +public final class DataSourceInitializationAutoConfiguration { @Bean ApplicationDataSourceScriptDatabaseInitializer dataSourceScriptDatabaseInitializer(DataSource dataSource, diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceTransactionManagerAutoConfiguration.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceTransactionManagerAutoConfiguration.java index 3cf85838f44..297effd8146 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceTransactionManagerAutoConfiguration.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/DataSourceTransactionManagerAutoConfiguration.java @@ -50,7 +50,7 @@ import org.springframework.transaction.TransactionManager; after = { DataSourceAutoConfiguration.class, TransactionManagerCustomizationAutoConfiguration.class }) @ConditionalOnClass({ DataSource.class, JdbcTemplate.class, TransactionManager.class }) @AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE) -public class DataSourceTransactionManagerAutoConfiguration { +public final class DataSourceTransactionManagerAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnSingleCandidate(DataSource.class) diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JdbcClientAutoConfiguration.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JdbcClientAutoConfiguration.java index 2cde9966300..53c39d68d3c 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JdbcClientAutoConfiguration.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JdbcClientAutoConfiguration.java @@ -36,7 +36,7 @@ import org.springframework.jdbc.core.simple.JdbcClient; @ConditionalOnSingleCandidate(NamedParameterJdbcTemplate.class) @ConditionalOnMissingBean(JdbcClient.class) @Import(DatabaseInitializationDependencyConfigurer.class) -public class JdbcClientAutoConfiguration { +public final class JdbcClientAutoConfiguration { @Bean JdbcClient jdbcClient(NamedParameterJdbcTemplate jdbcTemplate) { diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JdbcTemplateAutoConfiguration.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JdbcTemplateAutoConfiguration.java index 73de0d2411a..42fa6731239 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JdbcTemplateAutoConfiguration.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JdbcTemplateAutoConfiguration.java @@ -44,6 +44,6 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; @EnableConfigurationProperties(JdbcProperties.class) @Import({ DatabaseInitializationDependencyConfigurer.class, JdbcTemplateConfiguration.class, NamedParameterJdbcTemplateConfiguration.class }) -public class JdbcTemplateAutoConfiguration { +public final class JdbcTemplateAutoConfiguration { } diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JndiDataSourceAutoConfiguration.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JndiDataSourceAutoConfiguration.java index 5605986efe9..584865e3d52 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JndiDataSourceAutoConfiguration.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/JndiDataSourceAutoConfiguration.java @@ -43,11 +43,11 @@ import org.springframework.jmx.support.JmxUtils; @ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class }) @ConditionalOnProperty("spring.datasource.jndi-name") @EnableConfigurationProperties(DataSourceProperties.class) -public class JndiDataSourceAutoConfiguration { +public final class JndiDataSourceAutoConfiguration { @Bean(destroyMethod = "") @ConditionalOnMissingBean - public DataSource dataSource(DataSourceProperties properties, ApplicationContext context) { + DataSource dataSource(DataSourceProperties properties, ApplicationContext context) { JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup(); DataSource dataSource = dataSourceLookup.getDataSource(properties.getJndiName()); excludeMBeanIfNecessary(dataSource, "dataSource", context); diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/XADataSourceAutoConfiguration.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/XADataSourceAutoConfiguration.java index 2b230275bab..7810474839b 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/XADataSourceAutoConfiguration.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/XADataSourceAutoConfiguration.java @@ -63,7 +63,7 @@ import org.springframework.util.StringUtils; @ConditionalOnClass({ DataSource.class, TransactionManager.class, EmbeddedDatabaseType.class }) @ConditionalOnBean(XADataSourceWrapper.class) @ConditionalOnMissingBean(DataSource.class) -public class XADataSourceAutoConfiguration implements BeanClassLoaderAware { +public final class XADataSourceAutoConfiguration implements BeanClassLoaderAware { private ClassLoader classLoader; @@ -74,7 +74,7 @@ public class XADataSourceAutoConfiguration implements BeanClassLoaderAware { } @Bean - public DataSource dataSource(XADataSourceWrapper wrapper, DataSourceProperties properties, + DataSource dataSource(XADataSourceWrapper wrapper, DataSourceProperties properties, JdbcConnectionDetails connectionDetails, ObjectProvider xaDataSource) throws Exception { return wrapper .wrapDataSource(xaDataSource.getIfAvailable(() -> createXaDataSource(properties, connectionDetails))); diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfiguration.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfiguration.java index 77d4645ad95..08caedba101 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfiguration.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfiguration.java @@ -68,14 +68,13 @@ import org.springframework.util.Assert; @ConditionalOnBean(DataSource.class) @ConditionalOnEnabledHealthIndicator("db") @EnableConfigurationProperties(DataSourceHealthIndicatorProperties.class) -public class DataSourceHealthContributorAutoConfiguration implements InitializingBean { +public final class DataSourceHealthContributorAutoConfiguration implements InitializingBean { private final Collection metadataProviders; private DataSourcePoolMetadataProvider poolMetadataProvider; - public DataSourceHealthContributorAutoConfiguration( - ObjectProvider metadataProviders) { + DataSourceHealthContributorAutoConfiguration(ObjectProvider metadataProviders) { this.metadataProviders = metadataProviders.orderedStream().toList(); } @@ -86,7 +85,7 @@ public class DataSourceHealthContributorAutoConfiguration implements Initializin @Bean @ConditionalOnMissingBean(name = { "dbHealthIndicator", "dbHealthContributor" }) - public HealthContributor dbHealthContributor(ConfigurableListableBeanFactory beanFactory, + HealthContributor dbHealthContributor(ConfigurableListableBeanFactory beanFactory, DataSourceHealthIndicatorProperties dataSourceHealthIndicatorProperties) { Map dataSources = SimpleAutowireCandidateResolver.resolveAutowireCandidates(beanFactory, DataSource.class, false, true); diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/metrics/DataSourcePoolMetricsAutoConfiguration.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/metrics/DataSourcePoolMetricsAutoConfiguration.java index 18787c6f17d..273cd427b7e 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/metrics/DataSourcePoolMetricsAutoConfiguration.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/metrics/DataSourcePoolMetricsAutoConfiguration.java @@ -59,7 +59,7 @@ import org.springframework.util.StringUtils; afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration") @ConditionalOnClass({ DataSource.class, MeterRegistry.class }) @ConditionalOnBean({ DataSource.class, MeterRegistry.class }) -public class DataSourcePoolMetricsAutoConfiguration { +public final class DataSourcePoolMetricsAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnBean(DataSourcePoolMetadataProvider.class) diff --git a/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/JerseyAutoConfiguration.java b/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/JerseyAutoConfiguration.java index 8e3288185bb..6f2cdb9db9e 100644 --- a/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/JerseyAutoConfiguration.java +++ b/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/JerseyAutoConfiguration.java @@ -78,7 +78,7 @@ import org.springframework.web.filter.RequestContextFilter; @ConditionalOnWebApplication(type = Type.SERVLET) @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @EnableConfigurationProperties(JerseyProperties.class) -public class JerseyAutoConfiguration implements ServletContextAware { +public final class JerseyAutoConfiguration implements ServletContextAware { private static final Log logger = LogFactory.getLog(JerseyAutoConfiguration.class); @@ -86,7 +86,7 @@ public class JerseyAutoConfiguration implements ServletContextAware { private final ResourceConfig config; - public JerseyAutoConfiguration(JerseyProperties jersey, ResourceConfig config, + JerseyAutoConfiguration(JerseyProperties jersey, ResourceConfig config, ObjectProvider customizers) { this.jersey = jersey; this.config = config; @@ -95,7 +95,7 @@ public class JerseyAutoConfiguration implements ServletContextAware { @Bean @ConditionalOnMissingFilterBean - public FilterRegistrationBean requestContextFilter() { + FilterRegistrationBean requestContextFilter() { FilterRegistrationBean registration = new FilterRegistrationBean<>(); registration.setFilter(new RequestContextFilter()); registration.setOrder(this.jersey.getFilter().getOrder() - 1); @@ -105,14 +105,14 @@ public class JerseyAutoConfiguration implements ServletContextAware { @Bean @ConditionalOnMissingBean - public JerseyApplicationPath jerseyApplicationPath() { + JerseyApplicationPath jerseyApplicationPath() { return new DefaultJerseyApplicationPath(this.jersey.getApplicationPath(), this.config); } @Bean @ConditionalOnMissingBean(name = "jerseyFilterRegistration") @ConditionalOnProperty(name = "spring.jersey.type", havingValue = "filter") - public FilterRegistrationBean jerseyFilterRegistration(JerseyApplicationPath applicationPath) { + FilterRegistrationBean jerseyFilterRegistration(JerseyApplicationPath applicationPath) { FilterRegistrationBean registration = new FilterRegistrationBean<>(); registration.setFilter(new ServletContainer(this.config)); registration.setUrlPatterns(Collections.singletonList(applicationPath.getUrlMapping())); @@ -134,7 +134,7 @@ public class JerseyAutoConfiguration implements ServletContextAware { @Bean @ConditionalOnMissingBean(name = "jerseyServletRegistration") @ConditionalOnProperty(name = "spring.jersey.type", havingValue = "servlet", matchIfMissing = true) - public ServletRegistrationBean jerseyServletRegistration(JerseyApplicationPath applicationPath) { + ServletRegistrationBean jerseyServletRegistration(JerseyApplicationPath applicationPath) { ServletRegistrationBean registration = new ServletRegistrationBean<>( new ServletContainer(this.config), applicationPath.getUrlMapping()); addInitParameters(registration); diff --git a/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/actuate/endpoint/web/HealthEndpointJerseyExtensionAutoConfiguration.java b/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/actuate/endpoint/web/HealthEndpointJerseyExtensionAutoConfiguration.java index 70d928c0d58..24d434a251a 100644 --- a/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/actuate/endpoint/web/HealthEndpointJerseyExtensionAutoConfiguration.java +++ b/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/actuate/endpoint/web/HealthEndpointJerseyExtensionAutoConfiguration.java @@ -64,7 +64,7 @@ import org.springframework.context.annotation.Configuration; @ConditionalOnBean(HealthEndpoint.class) @ConditionalOnAvailableEndpoint(endpoint = HealthEndpoint.class, exposure = EndpointExposure.WEB) @ConditionalOnMissingClass("org.springframework.web.servlet.DispatcherServlet") -public class HealthEndpointJerseyExtensionAutoConfiguration { +public final class HealthEndpointJerseyExtensionAutoConfiguration { @Bean JerseyAdditionalHealthEndpointPathsResourcesRegistrar jerseyAdditionalHealthEndpointPathsResourcesRegistrar( diff --git a/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfiguration.java b/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfiguration.java index c844f1b468c..5416e6373f7 100644 --- a/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfiguration.java +++ b/module/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfiguration.java @@ -51,11 +51,11 @@ import org.springframework.core.annotation.Order; @ConditionalOnClass({ ResourceConfig.class, ObservationApplicationEventListener.class }) @ConditionalOnBean({ ResourceConfig.class, ObservationRegistry.class }) @EnableConfigurationProperties({ MetricsProperties.class, ObservationProperties.class }) -public class JerseyServerMetricsAutoConfiguration { +public final class JerseyServerMetricsAutoConfiguration { private final ObservationProperties observationProperties; - public JerseyServerMetricsAutoConfiguration(ObservationProperties observationProperties) { + JerseyServerMetricsAutoConfiguration(ObservationProperties observationProperties) { this.observationProperties = observationProperties; } @@ -69,7 +69,7 @@ public class JerseyServerMetricsAutoConfiguration { @Bean @Order(0) - public MeterFilter jerseyMetricsUriTagFilter(MetricsProperties metricsProperties) { + MeterFilter jerseyMetricsUriTagFilter(MetricsProperties metricsProperties) { String metricName = this.observationProperties.getHttp().getServer().getRequests().getName(); MeterFilter filter = new OnlyOnceLoggingDenyMeterFilter( () -> String.format("Reached the maximum number of URI tags for '%s'.", metricName)); diff --git a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/actuate/web/server/JettyReactiveManagementContextAutoConfiguration.java b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/actuate/web/server/JettyReactiveManagementContextAutoConfiguration.java index 590394faa26..e6db4e72e06 100644 --- a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/actuate/web/server/JettyReactiveManagementContextAutoConfiguration.java +++ b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/actuate/web/server/JettyReactiveManagementContextAutoConfiguration.java @@ -40,7 +40,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ Server.class, ManagementContextFactory.class }) @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnManagementPort(ManagementPortType.DIFFERENT) -public class JettyReactiveManagementContextAutoConfiguration { +public final class JettyReactiveManagementContextAutoConfiguration { @Bean static ManagementContextFactory reactiveWebChildContextFactory() { diff --git a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/actuate/web/server/JettyServletManagementContextAutoConfiguration.java b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/actuate/web/server/JettyServletManagementContextAutoConfiguration.java index a9ed49a4b0b..fb0c43ca986 100644 --- a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/actuate/web/server/JettyServletManagementContextAutoConfiguration.java +++ b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/actuate/web/server/JettyServletManagementContextAutoConfiguration.java @@ -40,7 +40,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ Server.class, ManagementContextFactory.class }) @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnManagementPort(ManagementPortType.DIFFERENT) -public class JettyServletManagementContextAutoConfiguration { +public final class JettyServletManagementContextAutoConfiguration { @Bean static ManagementContextFactory servletWebChildContextFactory() { diff --git a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/metrics/JettyMetricsAutoConfiguration.java b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/metrics/JettyMetricsAutoConfiguration.java index d3b5d07ae97..ea5f60d902b 100644 --- a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/metrics/JettyMetricsAutoConfiguration.java +++ b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/metrics/JettyMetricsAutoConfiguration.java @@ -45,24 +45,24 @@ import org.springframework.context.annotation.Bean; @ConditionalOnWebApplication @ConditionalOnClass({ JettyServerThreadPoolMetrics.class, Server.class, MeterRegistry.class }) @ConditionalOnBean(MeterRegistry.class) -public class JettyMetricsAutoConfiguration { +public final class JettyMetricsAutoConfiguration { @Bean @ConditionalOnMissingBean({ JettyServerThreadPoolMetrics.class, JettyServerThreadPoolMetricsBinder.class }) - public JettyServerThreadPoolMetricsBinder jettyServerThreadPoolMetricsBinder(MeterRegistry meterRegistry) { + JettyServerThreadPoolMetricsBinder jettyServerThreadPoolMetricsBinder(MeterRegistry meterRegistry) { return new JettyServerThreadPoolMetricsBinder(meterRegistry); } @Bean @ConditionalOnMissingBean({ JettyConnectionMetrics.class, JettyConnectionMetricsBinder.class }) - public JettyConnectionMetricsBinder jettyConnectionMetricsBinder(MeterRegistry meterRegistry) { + JettyConnectionMetricsBinder jettyConnectionMetricsBinder(MeterRegistry meterRegistry) { return new JettyConnectionMetricsBinder(meterRegistry); } @Bean @ConditionalOnMissingBean({ JettySslHandshakeMetrics.class, JettySslHandshakeMetricsBinder.class }) @ConditionalOnBooleanProperty("server.ssl.enabled") - public JettySslHandshakeMetricsBinder jettySslHandshakeMetricsBinder(MeterRegistry meterRegistry) { + JettySslHandshakeMetricsBinder jettySslHandshakeMetricsBinder(MeterRegistry meterRegistry) { return new JettySslHandshakeMetricsBinder(meterRegistry); } diff --git a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/reactive/JettyReactiveWebServerAutoConfiguration.java b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/reactive/JettyReactiveWebServerAutoConfiguration.java index 4809e306c3d..8fb14ef83fe 100644 --- a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/reactive/JettyReactiveWebServerAutoConfiguration.java +++ b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/reactive/JettyReactiveWebServerAutoConfiguration.java @@ -51,7 +51,7 @@ import org.springframework.http.ReactiveHttpInputMessage; @ConditionalOnWebApplication(type = Type.REACTIVE) @EnableConfigurationProperties(JettyServerProperties.class) @Import({ JettyWebServerConfiguration.class, ReactiveWebServerConfiguration.class }) -public class JettyReactiveWebServerAutoConfiguration { +public final class JettyReactiveWebServerAutoConfiguration { @Bean @ConditionalOnMissingBean(ReactiveWebServerFactory.class) diff --git a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/servlet/JettyServletWebServerAutoConfiguration.java b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/servlet/JettyServletWebServerAutoConfiguration.java index 2e7f32536b2..e7357a8efb4 100644 --- a/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/servlet/JettyServletWebServerAutoConfiguration.java +++ b/module/spring-boot-jetty/src/main/java/org/springframework/boot/jetty/autoconfigure/servlet/JettyServletWebServerAutoConfiguration.java @@ -62,7 +62,7 @@ import org.springframework.core.annotation.Order; @ConditionalOnWebApplication(type = Type.SERVLET) @EnableConfigurationProperties(JettyServerProperties.class) @Import({ JettyWebServerConfiguration.class, ServletWebServerConfiguration.class }) -public class JettyServletWebServerAutoConfiguration { +public final class JettyServletWebServerAutoConfiguration { @Bean @ConditionalOnMissingBean(value = ServletWebServerFactory.class, search = SearchStrategy.CURRENT) diff --git a/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/JmsAutoConfiguration.java b/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/JmsAutoConfiguration.java index fac4fbdfcf7..4d8329f1b81 100644 --- a/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/JmsAutoConfiguration.java +++ b/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/JmsAutoConfiguration.java @@ -51,7 +51,7 @@ import org.springframework.jms.core.JmsTemplate; JmsClientConfigurations.MessagingTemplateConfiguration.class, JmsClientConfigurations.JmsClientConfiguration.class, JmsAnnotationDrivenConfiguration.class }) @ImportRuntimeHints(JmsRuntimeHints.class) -public class JmsAutoConfiguration { +public final class JmsAutoConfiguration { static class JmsRuntimeHints implements RuntimeHintsRegistrar { diff --git a/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/JndiConnectionFactoryAutoConfiguration.java b/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/JndiConnectionFactoryAutoConfiguration.java index 9279e438cc1..e9fe92a6722 100644 --- a/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/JndiConnectionFactoryAutoConfiguration.java +++ b/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/JndiConnectionFactoryAutoConfiguration.java @@ -48,13 +48,13 @@ import org.springframework.util.StringUtils; @ConditionalOnMissingBean(ConnectionFactory.class) @Conditional(JndiOrPropertyCondition.class) @EnableConfigurationProperties(JmsProperties.class) -public class JndiConnectionFactoryAutoConfiguration { +public final class JndiConnectionFactoryAutoConfiguration { // Keep these in sync with the condition below private static final String[] JNDI_LOCATIONS = { "java:/JmsXA", "java:/XAConnectionFactory" }; @Bean - public ConnectionFactory jmsConnectionFactory(JmsProperties properties) throws NamingException { + ConnectionFactory jmsConnectionFactory(JmsProperties properties) throws NamingException { JndiLocatorDelegate jndiLocatorDelegate = JndiLocatorDelegate.createDefaultResourceRefLocator(); if (StringUtils.hasLength(properties.getJndiName())) { return jndiLocatorDelegate.lookup(properties.getJndiName(), ConnectionFactory.class); diff --git a/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfiguration.java b/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfiguration.java index aed24ab9977..6c3642f48a2 100644 --- a/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfiguration.java +++ b/module/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfiguration.java @@ -41,16 +41,16 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ ConnectionFactory.class, JmsHealthIndicator.class }) @ConditionalOnBean(ConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("jms") -public class JmsHealthContributorAutoConfiguration +public final class JmsHealthContributorAutoConfiguration extends CompositeHealthContributorConfiguration { - public JmsHealthContributorAutoConfiguration() { + JmsHealthContributorAutoConfiguration() { super(JmsHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "jmsHealthIndicator", "jmsHealthContributor" }) - public HealthContributor jmsHealthContributor(ConfigurableListableBeanFactory beanFactory) { + HealthContributor jmsHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, ConnectionFactory.class); } diff --git a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java index 8f21ed6039b..706e282e691 100644 --- a/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java +++ b/module/spring-boot-jooq/src/main/java/org/springframework/boot/jooq/autoconfigure/JooqAutoConfiguration.java @@ -74,37 +74,37 @@ import org.springframework.util.ClassUtils; @ConditionalOnClass(DSLContext.class) @ConditionalOnBean(DataSource.class) @EnableConfigurationProperties(JooqProperties.class) -public class JooqAutoConfiguration { +public final class JooqAutoConfiguration { @Bean @ConditionalOnMissingBean(ConnectionProvider.class) - public DataSourceConnectionProvider dataSourceConnectionProvider(DataSource dataSource) { + DataSourceConnectionProvider dataSourceConnectionProvider(DataSource dataSource) { return new DataSourceConnectionProvider(new TransactionAwareDataSourceProxy(dataSource)); } @Bean @ConditionalOnBean(PlatformTransactionManager.class) @ConditionalOnMissingBean(TransactionProvider.class) - public SpringTransactionProvider transactionProvider(PlatformTransactionManager txManager) { + SpringTransactionProvider transactionProvider(PlatformTransactionManager txManager) { return new SpringTransactionProvider(txManager); } @Bean @Order(0) - public DefaultExecuteListenerProvider jooqExceptionTranslatorExecuteListenerProvider( + DefaultExecuteListenerProvider jooqExceptionTranslatorExecuteListenerProvider( ExceptionTranslatorExecuteListener exceptionTranslatorExecuteListener) { return new DefaultExecuteListenerProvider(exceptionTranslatorExecuteListener); } @Bean @ConditionalOnMissingBean - public ExceptionTranslatorExecuteListener jooqExceptionTranslator() { + ExceptionTranslatorExecuteListener jooqExceptionTranslator() { return ExceptionTranslatorExecuteListener.DEFAULT; } @Bean @ConditionalOnMissingBean(DSLContext.class) - public DefaultDSLContext dslContext(org.jooq.Configuration configuration) { + DefaultDSLContext dslContext(org.jooq.Configuration configuration) { return new DefaultDSLContext(configuration); } diff --git a/module/spring-boot-jsonb/src/main/java/org/springframework/boot/jsonb/autoconfigure/JsonbAutoConfiguration.java b/module/spring-boot-jsonb/src/main/java/org/springframework/boot/jsonb/autoconfigure/JsonbAutoConfiguration.java index 3230cfc5266..1508ad8222e 100644 --- a/module/spring-boot-jsonb/src/main/java/org/springframework/boot/jsonb/autoconfigure/JsonbAutoConfiguration.java +++ b/module/spring-boot-jsonb/src/main/java/org/springframework/boot/jsonb/autoconfigure/JsonbAutoConfiguration.java @@ -36,11 +36,11 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(Jsonb.class) @ConditionalOnResource(resources = { "classpath:META-INF/services/jakarta.json.bind.spi.JsonbProvider", "classpath:META-INF/services/jakarta.json.spi.JsonProvider" }) -public class JsonbAutoConfiguration { +public final class JsonbAutoConfiguration { @Bean @ConditionalOnMissingBean - public Jsonb jsonb() { + Jsonb jsonb() { return JsonbBuilder.create(); } diff --git a/module/spring-boot-kafka/src/main/java/org/springframework/boot/kafka/autoconfigure/KafkaAutoConfiguration.java b/module/spring-boot-kafka/src/main/java/org/springframework/boot/kafka/autoconfigure/KafkaAutoConfiguration.java index 52164e68195..53cedf47ea4 100644 --- a/module/spring-boot-kafka/src/main/java/org/springframework/boot/kafka/autoconfigure/KafkaAutoConfiguration.java +++ b/module/spring-boot-kafka/src/main/java/org/springframework/boot/kafka/autoconfigure/KafkaAutoConfiguration.java @@ -83,7 +83,7 @@ import org.springframework.util.StringUtils; @EnableConfigurationProperties(KafkaProperties.class) @Import({ KafkaAnnotationDrivenConfiguration.class, KafkaStreamsAnnotationDrivenConfiguration.class }) @ImportRuntimeHints(KafkaAutoConfiguration.KafkaRuntimeHints.class) -public class KafkaAutoConfiguration { +public final class KafkaAutoConfiguration { private final KafkaProperties properties; @@ -99,7 +99,7 @@ public class KafkaAutoConfiguration { @Bean @ConditionalOnMissingBean(KafkaTemplate.class) - public KafkaTemplate kafkaTemplate(ProducerFactory kafkaProducerFactory, + KafkaTemplate kafkaTemplate(ProducerFactory kafkaProducerFactory, ProducerListener kafkaProducerListener, ObjectProvider messageConverter) { PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull(); @@ -114,7 +114,7 @@ public class KafkaAutoConfiguration { @Bean @ConditionalOnMissingBean(ProducerListener.class) - public LoggingProducerListener kafkaProducerListener() { + LoggingProducerListener kafkaProducerListener() { return new LoggingProducerListener<>(); } @@ -147,14 +147,14 @@ public class KafkaAutoConfiguration { @Bean @ConditionalOnProperty(name = "spring.kafka.producer.transaction-id-prefix") @ConditionalOnMissingBean - public KafkaTransactionManager kafkaTransactionManager(ProducerFactory producerFactory) { + KafkaTransactionManager kafkaTransactionManager(ProducerFactory producerFactory) { return new KafkaTransactionManager<>(producerFactory); } @Bean @ConditionalOnBooleanProperty("spring.kafka.jaas.enabled") @ConditionalOnMissingBean - public KafkaJaasLoginModuleInitializer kafkaJaasInitializer() throws IOException { + KafkaJaasLoginModuleInitializer kafkaJaasInitializer() throws IOException { KafkaJaasLoginModuleInitializer jaas = new KafkaJaasLoginModuleInitializer(); Jaas jaasProperties = this.properties.getJaas(); if (jaasProperties.getControlFlag() != null) { @@ -189,7 +189,7 @@ public class KafkaAutoConfiguration { @Bean @ConditionalOnBooleanProperty("spring.kafka.retry.topic.enabled") @ConditionalOnSingleCandidate(KafkaTemplate.class) - public RetryTopicConfiguration kafkaRetryTopicConfiguration(KafkaTemplate kafkaTemplate) { + RetryTopicConfiguration kafkaRetryTopicConfiguration(KafkaTemplate kafkaTemplate) { KafkaProperties.Retry.Topic retryTopic = this.properties.getRetry().getTopic(); RetryTopicConfigurationBuilder builder = RetryTopicConfigurationBuilder.newInstance() .maxAttempts(retryTopic.getAttempts()) diff --git a/module/spring-boot-kafka/src/main/java/org/springframework/boot/kafka/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java b/module/spring-boot-kafka/src/main/java/org/springframework/boot/kafka/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java index f99ae223470..07d0658c815 100644 --- a/module/spring-boot-kafka/src/main/java/org/springframework/boot/kafka/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java +++ b/module/spring-boot-kafka/src/main/java/org/springframework/boot/kafka/autoconfigure/metrics/KafkaMetricsAutoConfiguration.java @@ -50,15 +50,15 @@ import org.springframework.kafka.streams.KafkaStreamsMicrometerListener; "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration" }) @ConditionalOnClass({ KafkaClientMetrics.class, ProducerFactory.class, MeterRegistry.class }) @ConditionalOnBean(MeterRegistry.class) -public class KafkaMetricsAutoConfiguration { +public final class KafkaMetricsAutoConfiguration { @Bean - public DefaultKafkaProducerFactoryCustomizer kafkaProducerMetrics(MeterRegistry meterRegistry) { + DefaultKafkaProducerFactoryCustomizer kafkaProducerMetrics(MeterRegistry meterRegistry) { return (producerFactory) -> addListener(producerFactory, meterRegistry); } @Bean - public DefaultKafkaConsumerFactoryCustomizer kafkaConsumerMetrics(MeterRegistry meterRegistry) { + DefaultKafkaConsumerFactoryCustomizer kafkaConsumerMetrics(MeterRegistry meterRegistry) { return (consumerFactory) -> addListener(consumerFactory, meterRegistry); } diff --git a/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/LdapAutoConfiguration.java b/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/LdapAutoConfiguration.java index b0b676d92fc..7e81a1ca900 100644 --- a/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/LdapAutoConfiguration.java +++ b/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/LdapAutoConfiguration.java @@ -49,7 +49,7 @@ import org.springframework.ldap.odm.core.impl.DefaultObjectDirectoryMapper; @AutoConfiguration @ConditionalOnClass(ContextSource.class) @EnableConfigurationProperties(LdapProperties.class) -public class LdapAutoConfiguration { +public final class LdapAutoConfiguration { @Bean @ConditionalOnMissingBean(LdapConnectionDetails.class) @@ -60,7 +60,7 @@ public class LdapAutoConfiguration { @Bean @ConditionalOnMissingBean - public LdapContextSource ldapContextSource(LdapConnectionDetails connectionDetails, LdapProperties properties, + LdapContextSource ldapContextSource(LdapConnectionDetails connectionDetails, LdapProperties properties, ObjectProvider dirContextAuthenticationStrategy) { LdapContextSource source = new LdapContextSource(); dirContextAuthenticationStrategy.ifUnique(source::setAuthenticationStrategy); @@ -80,7 +80,7 @@ public class LdapAutoConfiguration { @Bean @ConditionalOnMissingBean - public ObjectDirectoryMapper objectDirectoryMapper() { + ObjectDirectoryMapper objectDirectoryMapper() { ApplicationConversionService conversionService = new ApplicationConversionService(); ConverterUtils.addDefaultConverters(conversionService); DefaultObjectDirectoryMapper objectDirectoryMapper = new DefaultObjectDirectoryMapper(); @@ -90,7 +90,7 @@ public class LdapAutoConfiguration { @Bean @ConditionalOnMissingBean(LdapOperations.class) - public LdapTemplate ldapTemplate(LdapProperties properties, ContextSource contextSource, + LdapTemplate ldapTemplate(LdapProperties properties, ContextSource contextSource, ObjectDirectoryMapper objectDirectoryMapper) { Template template = properties.getTemplate(); PropertyMapper propertyMapper = PropertyMapper.get().alwaysApplyingWhenNonNull(); diff --git a/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/embedded/EmbeddedLdapAutoConfiguration.java b/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/embedded/EmbeddedLdapAutoConfiguration.java index 0fa9a56cd6a..edadbb47545 100644 --- a/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/embedded/EmbeddedLdapAutoConfiguration.java +++ b/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/embedded/EmbeddedLdapAutoConfiguration.java @@ -77,7 +77,7 @@ import org.springframework.util.StringUtils; @ConditionalOnClass(InMemoryDirectoryServer.class) @Conditional(EmbeddedLdapAutoConfiguration.EmbeddedLdapCondition.class) @ImportRuntimeHints(EmbeddedLdapAutoConfigurationRuntimeHints.class) -public class EmbeddedLdapAutoConfiguration implements DisposableBean { +public final class EmbeddedLdapAutoConfiguration implements DisposableBean { private static final String PROPERTY_SOURCE_NAME = "ldap.ports"; @@ -85,12 +85,12 @@ public class EmbeddedLdapAutoConfiguration implements DisposableBean { private InMemoryDirectoryServer server; - public EmbeddedLdapAutoConfiguration(EmbeddedLdapProperties embeddedProperties) { + EmbeddedLdapAutoConfiguration(EmbeddedLdapProperties embeddedProperties) { this.embeddedProperties = embeddedProperties; } @Bean - public InMemoryDirectoryServer directoryServer(ApplicationContext applicationContext) throws LDAPException { + InMemoryDirectoryServer directoryServer(ApplicationContext applicationContext) throws LDAPException { String[] baseDn = StringUtils.toStringArray(this.embeddedProperties.getBaseDn()); InMemoryDirectoryServerConfig config = new InMemoryDirectoryServerConfig(baseDn); if (this.embeddedProperties.getCredential().isAvailable()) { diff --git a/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfiguration.java b/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfiguration.java index 17551d803ab..20117c1537e 100644 --- a/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfiguration.java +++ b/module/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfiguration.java @@ -41,16 +41,16 @@ import org.springframework.ldap.core.LdapOperations; @ConditionalOnClass({ LdapOperations.class, LdapHealthIndicator.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(LdapOperations.class) @ConditionalOnEnabledHealthIndicator("ldap") -public class LdapHealthContributorAutoConfiguration +public final class LdapHealthContributorAutoConfiguration extends CompositeHealthContributorConfiguration { - public LdapHealthContributorAutoConfiguration() { + LdapHealthContributorAutoConfiguration() { super(LdapHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "ldapHealthIndicator", "ldapHealthContributor" }) - public HealthContributor ldapHealthContributor(ConfigurableListableBeanFactory beanFactory) { + HealthContributor ldapHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, LdapOperations.class); } diff --git a/module/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/autoconfigure/LiquibaseAutoConfiguration.java b/module/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/autoconfigure/LiquibaseAutoConfiguration.java index f6f7b53ae6e..d3a13a9599a 100644 --- a/module/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/autoconfigure/LiquibaseAutoConfiguration.java +++ b/module/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/autoconfigure/LiquibaseAutoConfiguration.java @@ -78,7 +78,7 @@ import org.springframework.util.StringUtils; @Conditional(LiquibaseDataSourceCondition.class) @Import(DatabaseInitializationDependencyConfigurer.class) @ImportRuntimeHints(LiquibaseAutoConfigurationRuntimeHints.class) -public class LiquibaseAutoConfiguration { +public final class LiquibaseAutoConfiguration { @Bean LiquibaseSchemaManagementProvider liquibaseDefaultDdlModeProvider(ObjectProvider liquibases) { diff --git a/module/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/autoconfigure/endpoint/LiquibaseEndpointAutoConfiguration.java b/module/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/autoconfigure/endpoint/LiquibaseEndpointAutoConfiguration.java index 5e591165cf5..3e6fc35db86 100644 --- a/module/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/autoconfigure/endpoint/LiquibaseEndpointAutoConfiguration.java +++ b/module/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/autoconfigure/endpoint/LiquibaseEndpointAutoConfiguration.java @@ -41,18 +41,18 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration(after = LiquibaseAutoConfiguration.class) @ConditionalOnClass({ SpringLiquibase.class, LiquibaseEndpoint.class, ConditionalOnAvailableEndpoint.class }) @ConditionalOnAvailableEndpoint(LiquibaseEndpoint.class) -public class LiquibaseEndpointAutoConfiguration { +public final class LiquibaseEndpointAutoConfiguration { @Bean @ConditionalOnBean(SpringLiquibase.class) @ConditionalOnMissingBean - public LiquibaseEndpoint liquibaseEndpoint(ApplicationContext context) { + LiquibaseEndpoint liquibaseEndpoint(ApplicationContext context) { return new LiquibaseEndpoint(context); } @Bean @ConditionalOnBean(SpringLiquibase.class) - public static BeanPostProcessor preventDataSourceCloseBeanPostProcessor() { + static BeanPostProcessor preventDataSourceCloseBeanPostProcessor() { return new BeanPostProcessor() { @Override diff --git a/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfiguration.java b/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfiguration.java index a9d98c9d430..932295ca964 100644 --- a/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfiguration.java +++ b/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfiguration.java @@ -39,16 +39,16 @@ import org.springframework.mail.javamail.JavaMailSenderImpl; @ConditionalOnClass({ JavaMailSenderImpl.class, MailHealthIndicator.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(JavaMailSenderImpl.class) @ConditionalOnEnabledHealthIndicator("mail") -public class MailHealthContributorAutoConfiguration +public final class MailHealthContributorAutoConfiguration extends CompositeHealthContributorConfiguration { - public MailHealthContributorAutoConfiguration() { + MailHealthContributorAutoConfiguration() { super(MailHealthIndicator::new); } @Bean @ConditionalOnMissingBean(name = { "mailHealthIndicator", "mailHealthContributor" }) - public HealthContributor mailHealthContributor(ConfigurableListableBeanFactory beanFactory) { + HealthContributor mailHealthContributor(ConfigurableListableBeanFactory beanFactory) { return createContributor(beanFactory, JavaMailSenderImpl.class); } diff --git a/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailSenderAutoConfiguration.java b/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailSenderAutoConfiguration.java index 1b468c1064c..70849dc048d 100644 --- a/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailSenderAutoConfiguration.java +++ b/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailSenderAutoConfiguration.java @@ -45,7 +45,7 @@ import org.springframework.mail.MailSender; @Conditional(MailSenderCondition.class) @EnableConfigurationProperties(MailProperties.class) @Import({ MailSenderJndiConfiguration.class, MailSenderPropertiesConfiguration.class }) -public class MailSenderAutoConfiguration { +public final class MailSenderAutoConfiguration { /** * Condition to trigger the creation of a {@link MailSender}. This kicks in if either diff --git a/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailSenderValidatorAutoConfiguration.java b/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailSenderValidatorAutoConfiguration.java index ed2e9e1e16b..ab62de13f08 100644 --- a/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailSenderValidatorAutoConfiguration.java +++ b/module/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailSenderValidatorAutoConfiguration.java @@ -35,16 +35,16 @@ import org.springframework.mail.javamail.JavaMailSenderImpl; @AutoConfiguration(after = MailSenderAutoConfiguration.class) @ConditionalOnBooleanProperty("spring.mail.test-connection") @ConditionalOnSingleCandidate(JavaMailSenderImpl.class) -public class MailSenderValidatorAutoConfiguration { +public final class MailSenderValidatorAutoConfiguration { private final JavaMailSenderImpl mailSender; - public MailSenderValidatorAutoConfiguration(JavaMailSenderImpl mailSender) { + MailSenderValidatorAutoConfiguration(JavaMailSenderImpl mailSender) { this.mailSender = mailSender; validateConnection(); } - public void validateConnection() { + private void validateConnection() { try { this.mailSender.testConnection(); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/CompositeMeterRegistryAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/CompositeMeterRegistryAutoConfiguration.java index c6f76b30fe4..5eb32eb323b 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/CompositeMeterRegistryAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/CompositeMeterRegistryAutoConfiguration.java @@ -33,6 +33,6 @@ import org.springframework.context.annotation.Import; @AutoConfiguration @Import({ NoOpMeterRegistryConfiguration.class, CompositeMeterRegistryConfiguration.class }) @ConditionalOnClass(CompositeMeterRegistry.class) -public class CompositeMeterRegistryAutoConfiguration { +public final class CompositeMeterRegistryAutoConfiguration { } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsAspectsAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsAspectsAutoConfiguration.java index 217f84f5951..705b41517f4 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsAspectsAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsAspectsAutoConfiguration.java @@ -48,7 +48,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ MeterRegistry.class, Advice.class }) @ConditionalOnBooleanProperty("management.observations.annotations.enabled") @ConditionalOnBean(MeterRegistry.class) -public class MetricsAspectsAutoConfiguration { +public final class MetricsAspectsAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsAutoConfiguration.java index 0c0fb5a5ff0..8353bb1582e 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsAutoConfiguration.java @@ -53,11 +53,11 @@ import org.springframework.core.annotation.Order; @AutoConfiguration(before = CompositeMeterRegistryAutoConfiguration.class) @ConditionalOnClass(Timed.class) @EnableConfigurationProperties(MetricsProperties.class) -public class MetricsAutoConfiguration { +public final class MetricsAutoConfiguration { @Bean @ConditionalOnMissingBean - public Clock micrometerClock() { + Clock micrometerClock() { return Clock.SYSTEM; } @@ -72,7 +72,7 @@ public class MetricsAutoConfiguration { @Bean @Order(0) - public PropertiesMeterFilter propertiesMeterFilter(MetricsProperties properties) { + PropertiesMeterFilter propertiesMeterFilter(MetricsProperties properties) { return new PropertiesMeterFilter(properties); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsEndpointAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsEndpointAutoConfiguration.java index be15a4c7401..865c6187335 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsEndpointAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/MetricsEndpointAutoConfiguration.java @@ -37,12 +37,12 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass({ ConditionalOnAvailableEndpoint.class, Timed.class }) @ConditionalOnAvailableEndpoint(MetricsEndpoint.class) -public class MetricsEndpointAutoConfiguration { +public final class MetricsEndpointAutoConfiguration { @Bean @ConditionalOnBean(MeterRegistry.class) @ConditionalOnMissingBean - public MetricsEndpoint metricsEndpoint(MeterRegistry registry) { + MetricsEndpoint metricsEndpoint(MeterRegistry registry) { return new MetricsEndpoint(registry); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java index d8b082f909f..2b9108f96b4 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java @@ -47,23 +47,23 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(AppOpticsMeterRegistry.class) @ConditionalOnEnabledMetricsExport("appoptics") @EnableConfigurationProperties(AppOpticsProperties.class) -public class AppOpticsMetricsExportAutoConfiguration { +public final class AppOpticsMetricsExportAutoConfiguration { private final AppOpticsProperties properties; - public AppOpticsMetricsExportAutoConfiguration(AppOpticsProperties properties) { + AppOpticsMetricsExportAutoConfiguration(AppOpticsProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public AppOpticsConfig appOpticsConfig() { + AppOpticsConfig appOpticsConfig() { return new AppOpticsPropertiesConfigAdapter(this.properties); } @Bean @ConditionalOnMissingBean - public AppOpticsMeterRegistry appOpticsMeterRegistry(AppOpticsConfig config, Clock clock) { + AppOpticsMeterRegistry appOpticsMeterRegistry(AppOpticsConfig config, Clock clock) { return AppOpticsMeterRegistry.builder(config) .clock(clock) .httpClient( diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/atlas/AtlasMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/atlas/AtlasMetricsExportAutoConfiguration.java index a68eeb6483d..02c143cac05 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/atlas/AtlasMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/atlas/AtlasMetricsExportAutoConfiguration.java @@ -46,17 +46,17 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(AtlasMeterRegistry.class) @ConditionalOnEnabledMetricsExport("atlas") @EnableConfigurationProperties(AtlasProperties.class) -public class AtlasMetricsExportAutoConfiguration { +public final class AtlasMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public AtlasConfig atlasConfig(AtlasProperties atlasProperties) { + AtlasConfig atlasConfig(AtlasProperties atlasProperties) { return new AtlasPropertiesConfigAdapter(atlasProperties); } @Bean @ConditionalOnMissingBean - public AtlasMeterRegistry atlasMeterRegistry(AtlasConfig atlasConfig, Clock clock) { + AtlasMeterRegistry atlasMeterRegistry(AtlasConfig atlasConfig, Clock clock) { return new AtlasMeterRegistry(atlasConfig, clock); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/datadog/DatadogMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/datadog/DatadogMetricsExportAutoConfiguration.java index a8a4ffc5c47..274db919b99 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/datadog/DatadogMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/datadog/DatadogMetricsExportAutoConfiguration.java @@ -47,23 +47,23 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(DatadogMeterRegistry.class) @ConditionalOnEnabledMetricsExport("datadog") @EnableConfigurationProperties(DatadogProperties.class) -public class DatadogMetricsExportAutoConfiguration { +public final class DatadogMetricsExportAutoConfiguration { private final DatadogProperties properties; - public DatadogMetricsExportAutoConfiguration(DatadogProperties properties) { + DatadogMetricsExportAutoConfiguration(DatadogProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public DatadogConfig datadogConfig() { + DatadogConfig datadogConfig() { return new DatadogPropertiesConfigAdapter(this.properties); } @Bean @ConditionalOnMissingBean - public DatadogMeterRegistry datadogMeterRegistry(DatadogConfig datadogConfig, Clock clock) { + DatadogMeterRegistry datadogMeterRegistry(DatadogConfig datadogConfig, Clock clock) { return DatadogMeterRegistry.builder(datadogConfig) .clock(clock) .httpClient( diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java index 75ff2fbc072..70f9f312dfe 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java @@ -47,23 +47,23 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(DynatraceMeterRegistry.class) @ConditionalOnEnabledMetricsExport("dynatrace") @EnableConfigurationProperties(DynatraceProperties.class) -public class DynatraceMetricsExportAutoConfiguration { +public final class DynatraceMetricsExportAutoConfiguration { private final DynatraceProperties properties; - public DynatraceMetricsExportAutoConfiguration(DynatraceProperties properties) { + DynatraceMetricsExportAutoConfiguration(DynatraceProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public DynatraceConfig dynatraceConfig() { + DynatraceConfig dynatraceConfig() { return new DynatracePropertiesConfigAdapter(this.properties); } @Bean @ConditionalOnMissingBean - public DynatraceMeterRegistry dynatraceMeterRegistry(DynatraceConfig dynatraceConfig, Clock clock) { + DynatraceMeterRegistry dynatraceMeterRegistry(DynatraceConfig dynatraceConfig, Clock clock) { return DynatraceMeterRegistry.builder(dynatraceConfig) .clock(clock) .httpClient( diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/elastic/ElasticMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/elastic/ElasticMetricsExportAutoConfiguration.java index 6069089869b..feb27857d87 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/elastic/ElasticMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/elastic/ElasticMetricsExportAutoConfiguration.java @@ -48,17 +48,17 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(ElasticMeterRegistry.class) @ConditionalOnEnabledMetricsExport("elastic") @EnableConfigurationProperties(ElasticProperties.class) -public class ElasticMetricsExportAutoConfiguration { +public final class ElasticMetricsExportAutoConfiguration { private final ElasticProperties properties; - public ElasticMetricsExportAutoConfiguration(ElasticProperties properties) { + ElasticMetricsExportAutoConfiguration(ElasticProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public ElasticConfig elasticConfig() { + ElasticConfig elasticConfig() { MutuallyExclusiveConfigurationPropertiesException.throwIfMultipleNonNullValuesIn((entries) -> { entries.put("api-key-credentials", this.properties.getApiKeyCredentials()); entries.put("user-name", this.properties.getUserName()); @@ -72,7 +72,7 @@ public class ElasticMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public ElasticMeterRegistry elasticMeterRegistry(ElasticConfig elasticConfig, Clock clock) { + ElasticMeterRegistry elasticMeterRegistry(ElasticConfig elasticConfig, Clock clock) { return ElasticMeterRegistry.builder(elasticConfig) .clock(clock) .httpClient( diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/ganglia/GangliaMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/ganglia/GangliaMetricsExportAutoConfiguration.java index 5609dee12ec..fe795a832cb 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/ganglia/GangliaMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/ganglia/GangliaMetricsExportAutoConfiguration.java @@ -45,17 +45,17 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(GangliaMeterRegistry.class) @ConditionalOnEnabledMetricsExport("ganglia") @EnableConfigurationProperties(GangliaProperties.class) -public class GangliaMetricsExportAutoConfiguration { +public final class GangliaMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public GangliaConfig gangliaConfig(GangliaProperties gangliaProperties) { + GangliaConfig gangliaConfig(GangliaProperties gangliaProperties) { return new GangliaPropertiesConfigAdapter(gangliaProperties); } @Bean @ConditionalOnMissingBean - public GangliaMeterRegistry gangliaMeterRegistry(GangliaConfig gangliaConfig, Clock clock) { + GangliaMeterRegistry gangliaMeterRegistry(GangliaConfig gangliaConfig, Clock clock) { return new GangliaMeterRegistry(gangliaConfig, clock); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/graphite/GraphiteMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/graphite/GraphiteMetricsExportAutoConfiguration.java index 371a3af3891..6a20e073288 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/graphite/GraphiteMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/graphite/GraphiteMetricsExportAutoConfiguration.java @@ -45,17 +45,17 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(GraphiteMeterRegistry.class) @ConditionalOnEnabledMetricsExport("graphite") @EnableConfigurationProperties(GraphiteProperties.class) -public class GraphiteMetricsExportAutoConfiguration { +public final class GraphiteMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public GraphiteConfig graphiteConfig(GraphiteProperties graphiteProperties) { + GraphiteConfig graphiteConfig(GraphiteProperties graphiteProperties) { return new GraphitePropertiesConfigAdapter(graphiteProperties); } @Bean @ConditionalOnMissingBean - public GraphiteMeterRegistry graphiteMeterRegistry(GraphiteConfig graphiteConfig, Clock clock) { + GraphiteMeterRegistry graphiteMeterRegistry(GraphiteConfig graphiteConfig, Clock clock) { return new GraphiteMeterRegistry(graphiteConfig, clock); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/humio/HumioMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/humio/HumioMetricsExportAutoConfiguration.java index a5832130a5e..b633ae3ce03 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/humio/HumioMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/humio/HumioMetricsExportAutoConfiguration.java @@ -47,23 +47,23 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(HumioMeterRegistry.class) @ConditionalOnEnabledMetricsExport("humio") @EnableConfigurationProperties(HumioProperties.class) -public class HumioMetricsExportAutoConfiguration { +public final class HumioMetricsExportAutoConfiguration { private final HumioProperties properties; - public HumioMetricsExportAutoConfiguration(HumioProperties properties) { + HumioMetricsExportAutoConfiguration(HumioProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public HumioConfig humioConfig() { + HumioConfig humioConfig() { return new HumioPropertiesConfigAdapter(this.properties); } @Bean @ConditionalOnMissingBean - public HumioMeterRegistry humioMeterRegistry(HumioConfig humioConfig, Clock clock) { + HumioMeterRegistry humioMeterRegistry(HumioConfig humioConfig, Clock clock) { return HumioMeterRegistry.builder(humioConfig) .clock(clock) .httpClient( diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/influx/InfluxMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/influx/InfluxMetricsExportAutoConfiguration.java index 71a82c7b15e..f97423f059f 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/influx/InfluxMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/influx/InfluxMetricsExportAutoConfiguration.java @@ -47,23 +47,23 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(InfluxMeterRegistry.class) @ConditionalOnEnabledMetricsExport("influx") @EnableConfigurationProperties(InfluxProperties.class) -public class InfluxMetricsExportAutoConfiguration { +public final class InfluxMetricsExportAutoConfiguration { private final InfluxProperties properties; - public InfluxMetricsExportAutoConfiguration(InfluxProperties properties) { + InfluxMetricsExportAutoConfiguration(InfluxProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public InfluxConfig influxConfig() { + InfluxConfig influxConfig() { return new InfluxPropertiesConfigAdapter(this.properties); } @Bean @ConditionalOnMissingBean - public InfluxMeterRegistry influxMeterRegistry(InfluxConfig influxConfig, Clock clock) { + InfluxMeterRegistry influxMeterRegistry(InfluxConfig influxConfig, Clock clock) { return InfluxMeterRegistry.builder(influxConfig) .clock(clock) .httpClient( diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/jmx/JmxMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/jmx/JmxMetricsExportAutoConfiguration.java index a60c731bb40..e06d5808705 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/jmx/JmxMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/jmx/JmxMetricsExportAutoConfiguration.java @@ -45,17 +45,17 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(JmxMeterRegistry.class) @ConditionalOnEnabledMetricsExport("jmx") @EnableConfigurationProperties(JmxProperties.class) -public class JmxMetricsExportAutoConfiguration { +public final class JmxMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public JmxConfig jmxConfig(JmxProperties jmxProperties) { + JmxConfig jmxConfig(JmxProperties jmxProperties) { return new JmxPropertiesConfigAdapter(jmxProperties); } @Bean @ConditionalOnMissingBean - public JmxMeterRegistry jmxMeterRegistry(JmxConfig jmxConfig, Clock clock) { + JmxMeterRegistry jmxMeterRegistry(JmxConfig jmxConfig, Clock clock) { return new JmxMeterRegistry(jmxConfig, clock); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/kairos/KairosMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/kairos/KairosMetricsExportAutoConfiguration.java index 3891af334fa..e8728fcb511 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/kairos/KairosMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/kairos/KairosMetricsExportAutoConfiguration.java @@ -47,23 +47,23 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(KairosMeterRegistry.class) @ConditionalOnEnabledMetricsExport("kairos") @EnableConfigurationProperties(KairosProperties.class) -public class KairosMetricsExportAutoConfiguration { +public final class KairosMetricsExportAutoConfiguration { private final KairosProperties properties; - public KairosMetricsExportAutoConfiguration(KairosProperties properties) { + KairosMetricsExportAutoConfiguration(KairosProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public KairosConfig kairosConfig() { + KairosConfig kairosConfig() { return new KairosPropertiesConfigAdapter(this.properties); } @Bean @ConditionalOnMissingBean - public KairosMeterRegistry kairosMeterRegistry(KairosConfig kairosConfig, Clock clock) { + KairosMeterRegistry kairosMeterRegistry(KairosConfig kairosConfig, Clock clock) { return KairosMeterRegistry.builder(kairosConfig) .clock(clock) .httpClient( diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/newrelic/NewRelicMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/newrelic/NewRelicMetricsExportAutoConfiguration.java index ef706f0f58d..41aa8c196a7 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/newrelic/NewRelicMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/newrelic/NewRelicMetricsExportAutoConfiguration.java @@ -52,23 +52,23 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(NewRelicMeterRegistry.class) @ConditionalOnEnabledMetricsExport("newrelic") @EnableConfigurationProperties(NewRelicProperties.class) -public class NewRelicMetricsExportAutoConfiguration { +public final class NewRelicMetricsExportAutoConfiguration { private final NewRelicProperties properties; - public NewRelicMetricsExportAutoConfiguration(NewRelicProperties properties) { + NewRelicMetricsExportAutoConfiguration(NewRelicProperties properties) { this.properties = properties; } @Bean @ConditionalOnMissingBean - public NewRelicConfig newRelicConfig() { + NewRelicConfig newRelicConfig() { return new NewRelicPropertiesConfigAdapter(this.properties); } @Bean @ConditionalOnMissingBean - public NewRelicClientProvider newRelicClientProvider(NewRelicConfig newRelicConfig) { + NewRelicClientProvider newRelicClientProvider(NewRelicConfig newRelicConfig) { if (newRelicConfig.clientProviderType() == ClientProviderType.INSIGHTS_AGENT) { return new NewRelicInsightsAgentClientProvider(newRelicConfig); } @@ -79,7 +79,7 @@ public class NewRelicMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public NewRelicMeterRegistry newRelicMeterRegistry(NewRelicConfig newRelicConfig, Clock clock, + NewRelicMeterRegistry newRelicMeterRegistry(NewRelicConfig newRelicConfig, Clock clock, NewRelicClientProvider newRelicClientProvider) { return NewRelicMeterRegistry.builder(newRelicConfig) .clock(clock) diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/otlp/OtlpMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/otlp/OtlpMetricsExportAutoConfiguration.java index 070788eee75..c95cdfc3251 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/otlp/OtlpMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/otlp/OtlpMetricsExportAutoConfiguration.java @@ -53,7 +53,7 @@ import org.springframework.core.task.VirtualThreadTaskExecutor; @ConditionalOnClass(OtlpMeterRegistry.class) @ConditionalOnEnabledMetricsExport("otlp") @EnableConfigurationProperties({ OtlpMetricsProperties.class, OpenTelemetryProperties.class }) -public class OtlpMetricsExportAutoConfiguration { +public final class OtlpMetricsExportAutoConfiguration { private final OtlpMetricsProperties properties; @@ -78,7 +78,7 @@ public class OtlpMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnThreading(Threading.PLATFORM) - public OtlpMeterRegistry otlpMeterRegistry(OtlpConfig otlpConfig, Clock clock, + OtlpMeterRegistry otlpMeterRegistry(OtlpConfig otlpConfig, Clock clock, ObjectProvider metricsSender) { return builder(otlpConfig, clock, metricsSender).build(); } @@ -86,7 +86,7 @@ public class OtlpMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnThreading(Threading.VIRTUAL) - public OtlpMeterRegistry otlpMeterRegistryVirtualThreads(OtlpConfig otlpConfig, Clock clock, + OtlpMeterRegistry otlpMeterRegistryVirtualThreads(OtlpConfig otlpConfig, Clock clock, ObjectProvider metricsSender) { VirtualThreadTaskExecutor executor = new VirtualThreadTaskExecutor("otlp-meter-registry-"); return builder(otlpConfig, clock, metricsSender).threadFactory(executor.getVirtualThreadFactory()).build(); diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/prometheus/PrometheusMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/prometheus/PrometheusMetricsExportAutoConfiguration.java index 02e2c4d8b84..237fed6e4d0 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/prometheus/PrometheusMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/prometheus/PrometheusMetricsExportAutoConfiguration.java @@ -62,7 +62,7 @@ import org.springframework.util.StringUtils; @ConditionalOnClass(PrometheusMeterRegistry.class) @ConditionalOnEnabledMetricsExport("prometheus") @EnableConfigurationProperties(PrometheusProperties.class) -public class PrometheusMetricsExportAutoConfiguration { +public final class PrometheusMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/simple/SimpleMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/simple/SimpleMetricsExportAutoConfiguration.java index ff5dff2d021..b00df60e956 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/simple/SimpleMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/simple/SimpleMetricsExportAutoConfiguration.java @@ -44,16 +44,16 @@ import org.springframework.context.annotation.Bean; @EnableConfigurationProperties(SimpleProperties.class) @ConditionalOnMissingBean(MeterRegistry.class) @ConditionalOnEnabledMetricsExport("simple") -public class SimpleMetricsExportAutoConfiguration { +public final class SimpleMetricsExportAutoConfiguration { @Bean - public SimpleMeterRegistry simpleMeterRegistry(SimpleConfig config, Clock clock) { + SimpleMeterRegistry simpleMeterRegistry(SimpleConfig config, Clock clock) { return new SimpleMeterRegistry(config, clock); } @Bean @ConditionalOnMissingBean - public SimpleConfig simpleConfig(SimpleProperties simpleProperties) { + SimpleConfig simpleConfig(SimpleProperties simpleProperties) { return new SimplePropertiesConfigAdapter(simpleProperties); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/stackdriver/StackdriverMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/stackdriver/StackdriverMetricsExportAutoConfiguration.java index ab530f492b1..8f04bc28037 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/stackdriver/StackdriverMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/stackdriver/StackdriverMetricsExportAutoConfiguration.java @@ -47,23 +47,23 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(StackdriverMeterRegistry.class) @ConditionalOnEnabledMetricsExport("stackdriver") @EnableConfigurationProperties(StackdriverProperties.class) -public class StackdriverMetricsExportAutoConfiguration { +public final class StackdriverMetricsExportAutoConfiguration { private final StackdriverProperties properties; - public StackdriverMetricsExportAutoConfiguration(StackdriverProperties stackdriverProperties) { + StackdriverMetricsExportAutoConfiguration(StackdriverProperties stackdriverProperties) { this.properties = stackdriverProperties; } @Bean @ConditionalOnMissingBean - public StackdriverConfig stackdriverConfig() { + StackdriverConfig stackdriverConfig() { return new StackdriverPropertiesConfigAdapter(this.properties); } @Bean @ConditionalOnMissingBean - public StackdriverMeterRegistry stackdriverMeterRegistry(StackdriverConfig stackdriverConfig, Clock clock) { + StackdriverMeterRegistry stackdriverMeterRegistry(StackdriverConfig stackdriverConfig, Clock clock) { return StackdriverMeterRegistry.builder(stackdriverConfig).clock(clock).build(); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/statsd/StatsdMetricsExportAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/statsd/StatsdMetricsExportAutoConfiguration.java index 0054a85ad57..fa46b334fa7 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/statsd/StatsdMetricsExportAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/export/statsd/StatsdMetricsExportAutoConfiguration.java @@ -45,17 +45,17 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(StatsdMeterRegistry.class) @ConditionalOnEnabledMetricsExport("statsd") @EnableConfigurationProperties(StatsdProperties.class) -public class StatsdMetricsExportAutoConfiguration { +public final class StatsdMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public StatsdConfig statsdConfig(StatsdProperties statsdProperties) { + StatsdConfig statsdConfig(StatsdProperties statsdProperties) { return new StatsdPropertiesConfigAdapter(statsdProperties); } @Bean @ConditionalOnMissingBean - public StatsdMeterRegistry statsdMeterRegistry(StatsdConfig statsdConfig, Clock clock) { + StatsdMeterRegistry statsdMeterRegistry(StatsdConfig statsdConfig, Clock clock) { return new StatsdMeterRegistry(statsdConfig, clock); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/jvm/JvmMetricsAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/jvm/JvmMetricsAutoConfiguration.java index 3aa23450bdf..18fdbbcabcc 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/jvm/JvmMetricsAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/jvm/JvmMetricsAutoConfiguration.java @@ -51,49 +51,49 @@ import org.springframework.util.ClassUtils; @AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass(MeterRegistry.class) @ConditionalOnBean(MeterRegistry.class) -public class JvmMetricsAutoConfiguration { +public final class JvmMetricsAutoConfiguration { private static final String VIRTUAL_THREAD_METRICS_CLASS = "io.micrometer.java21.instrument.binder.jdk.VirtualThreadMetrics"; @Bean @ConditionalOnMissingBean - public JvmGcMetrics jvmGcMetrics() { + JvmGcMetrics jvmGcMetrics() { return new JvmGcMetrics(); } @Bean @ConditionalOnMissingBean - public JvmHeapPressureMetrics jvmHeapPressureMetrics() { + JvmHeapPressureMetrics jvmHeapPressureMetrics() { return new JvmHeapPressureMetrics(); } @Bean @ConditionalOnMissingBean - public JvmMemoryMetrics jvmMemoryMetrics() { + JvmMemoryMetrics jvmMemoryMetrics() { return new JvmMemoryMetrics(); } @Bean @ConditionalOnMissingBean - public JvmThreadMetrics jvmThreadMetrics() { + JvmThreadMetrics jvmThreadMetrics() { return new JvmThreadMetrics(); } @Bean @ConditionalOnMissingBean - public ClassLoaderMetrics classLoaderMetrics() { + ClassLoaderMetrics classLoaderMetrics() { return new ClassLoaderMetrics(); } @Bean @ConditionalOnMissingBean - public JvmInfoMetrics jvmInfoMetrics() { + JvmInfoMetrics jvmInfoMetrics() { return new JvmInfoMetrics(); } @Bean @ConditionalOnMissingBean - public JvmCompilationMetrics jvmCompilationMetrics() { + JvmCompilationMetrics jvmCompilationMetrics() { return new JvmCompilationMetrics(); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/logging/log4j2/Log4J2MetricsAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/logging/log4j2/Log4J2MetricsAutoConfiguration.java index 6a9a5075b91..b759cff5355 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/logging/log4j2/Log4J2MetricsAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/logging/log4j2/Log4J2MetricsAutoConfiguration.java @@ -46,11 +46,11 @@ import org.springframework.core.type.AnnotatedTypeMetadata; name = "org.apache.logging.log4j.core.LoggerContext") @ConditionalOnBean(MeterRegistry.class) @Conditional(Log4JCoreLoggerContextCondition.class) -public class Log4J2MetricsAutoConfiguration { +public final class Log4J2MetricsAutoConfiguration { @Bean @ConditionalOnMissingBean - public Log4j2Metrics log4j2Metrics() { + Log4j2Metrics log4j2Metrics() { return new Log4j2Metrics(); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/logging/logback/LogbackMetricsAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/logging/logback/LogbackMetricsAutoConfiguration.java index 7907647c7b7..c53bfae8eb7 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/logging/logback/LogbackMetricsAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/logging/logback/LogbackMetricsAutoConfiguration.java @@ -48,11 +48,11 @@ import org.springframework.core.type.AnnotatedTypeMetadata; @ConditionalOnClass({ MeterRegistry.class, LoggerContext.class, LoggerFactory.class }) @ConditionalOnBean(MeterRegistry.class) @Conditional(LogbackLoggingCondition.class) -public class LogbackMetricsAutoConfiguration { +public final class LogbackMetricsAutoConfiguration { @Bean @ConditionalOnMissingBean - public LogbackMetrics logbackMetrics() { + LogbackMetrics logbackMetrics() { return new LogbackMetrics(); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/ssl/SslMetricsAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/ssl/SslMetricsAutoConfiguration.java index 58fa7414f32..f7dd66f9f3f 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/ssl/SslMetricsAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/ssl/SslMetricsAutoConfiguration.java @@ -40,7 +40,7 @@ import org.springframework.context.annotation.Bean; SslAutoConfiguration.class }) @ConditionalOnClass(MeterRegistry.class) @ConditionalOnBean({ MeterRegistry.class, SslBundles.class }) -public class SslMetricsAutoConfiguration { +public final class SslMetricsAutoConfiguration { @Bean SslMeterBinder sslMeterBinder(SslBundles sslBundles, ObjectProvider sslInfo) { diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/startup/StartupTimeMetricsListenerAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/startup/StartupTimeMetricsListenerAutoConfiguration.java index 8485cd82feb..13baac5a9f5 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/startup/StartupTimeMetricsListenerAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/startup/StartupTimeMetricsListenerAutoConfiguration.java @@ -37,11 +37,11 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class }) @ConditionalOnClass(MeterRegistry.class) @ConditionalOnBean(MeterRegistry.class) -public class StartupTimeMetricsListenerAutoConfiguration { +public final class StartupTimeMetricsListenerAutoConfiguration { @Bean @ConditionalOnMissingBean - public StartupTimeMetricsListener startupTimeMetrics(MeterRegistry meterRegistry) { + StartupTimeMetricsListener startupTimeMetrics(MeterRegistry meterRegistry) { return new StartupTimeMetricsListener(meterRegistry); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/system/SystemMetricsAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/system/SystemMetricsAutoConfiguration.java index 2fd4995d4e2..749f3af93d9 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/system/SystemMetricsAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/system/SystemMetricsAutoConfiguration.java @@ -48,29 +48,29 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(MeterRegistry.class) @ConditionalOnBean(MeterRegistry.class) @EnableConfigurationProperties(MetricsProperties.class) -public class SystemMetricsAutoConfiguration { +public final class SystemMetricsAutoConfiguration { @Bean @ConditionalOnMissingBean - public UptimeMetrics uptimeMetrics() { + UptimeMetrics uptimeMetrics() { return new UptimeMetrics(); } @Bean @ConditionalOnMissingBean - public ProcessorMetrics processorMetrics() { + ProcessorMetrics processorMetrics() { return new ProcessorMetrics(); } @Bean @ConditionalOnMissingBean - public FileDescriptorMetrics fileDescriptorMetrics() { + FileDescriptorMetrics fileDescriptorMetrics() { return new FileDescriptorMetrics(); } @Bean @ConditionalOnMissingBean - public DiskSpaceMetricsBinder diskSpaceMetrics(MetricsProperties properties) { + DiskSpaceMetricsBinder diskSpaceMetrics(MetricsProperties properties) { List paths = properties.getSystem().getDiskspace().getPaths(); return new DiskSpaceMetricsBinder(paths, Tags.empty()); } diff --git a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/task/TaskExecutorMetricsAutoConfiguration.java b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/task/TaskExecutorMetricsAutoConfiguration.java index 4cf6d39cb32..20bdbfaaa82 100644 --- a/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/task/TaskExecutorMetricsAutoConfiguration.java +++ b/module/spring-boot-metrics/src/main/java/org/springframework/boot/metrics/autoconfigure/task/TaskExecutorMetricsAutoConfiguration.java @@ -53,10 +53,10 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; TaskExecutionAutoConfiguration.class, TaskSchedulingAutoConfiguration.class }) @ConditionalOnClass(ExecutorServiceMetrics.class) @ConditionalOnBean({ Executor.class, MeterRegistry.class }) -public class TaskExecutorMetricsAutoConfiguration { +public final class TaskExecutorMetricsAutoConfiguration { @Autowired - public void bindTaskExecutorsToRegistry(ConfigurableListableBeanFactory beanFactory, MeterRegistry registry) { + void bindTaskExecutorsToRegistry(ConfigurableListableBeanFactory beanFactory, MeterRegistry registry) { SimpleAutowireCandidateResolver.resolveAutowireCandidates(beanFactory, TaskExecutor.class) .forEach((beanName, executor) -> { if (executor instanceof ThreadPoolTaskExecutor threadPoolTaskExecutor) { diff --git a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/MongoAutoConfiguration.java b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/MongoAutoConfiguration.java index ac195645517..b5fc8562015 100644 --- a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/MongoAutoConfiguration.java +++ b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/MongoAutoConfiguration.java @@ -44,7 +44,7 @@ import org.springframework.context.annotation.Configuration; @ConditionalOnClass(MongoClient.class) @EnableConfigurationProperties(MongoProperties.class) @ConditionalOnMissingBean(type = "org.springframework.data.mongodb.MongoDatabaseFactory") -public class MongoAutoConfiguration { +public final class MongoAutoConfiguration { @Bean @ConditionalOnMissingBean(MongoConnectionDetails.class) @@ -55,7 +55,7 @@ public class MongoAutoConfiguration { @Bean @ConditionalOnMissingBean - public MongoClient mongo(ObjectProvider builderCustomizers, + MongoClient mongo(ObjectProvider builderCustomizers, MongoClientSettings settings) { return new MongoClientFactory(builderCustomizers.orderedStream().toList()).createMongoClient(settings); } diff --git a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/MongoReactiveAutoConfiguration.java b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/MongoReactiveAutoConfiguration.java index 1728ad81b18..9b480f90e33 100644 --- a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/MongoReactiveAutoConfiguration.java +++ b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/MongoReactiveAutoConfiguration.java @@ -50,7 +50,7 @@ import org.springframework.core.annotation.Order; @AutoConfiguration @ConditionalOnClass({ MongoClient.class, Flux.class }) @EnableConfigurationProperties(MongoProperties.class) -public class MongoReactiveAutoConfiguration { +public final class MongoReactiveAutoConfiguration { @Bean @ConditionalOnMissingBean(MongoConnectionDetails.class) @@ -61,8 +61,8 @@ public class MongoReactiveAutoConfiguration { @Bean @ConditionalOnMissingBean - public MongoClient reactiveStreamsMongoClient( - ObjectProvider builderCustomizers, MongoClientSettings settings) { + MongoClient reactiveStreamsMongoClient(ObjectProvider builderCustomizers, + MongoClientSettings settings) { ReactiveMongoClientFactory factory = new ReactiveMongoClientFactory( builderCustomizers.orderedStream().toList()); return factory.createMongoClient(settings); diff --git a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/metrics/MongoMetricsAutoConfiguration.java b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/metrics/MongoMetricsAutoConfiguration.java index 40746aa1d27..8314da48b82 100644 --- a/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/metrics/MongoMetricsAutoConfiguration.java +++ b/module/spring-boot-mongodb/src/main/java/org/springframework/boot/mongodb/autoconfigure/metrics/MongoMetricsAutoConfiguration.java @@ -46,7 +46,7 @@ import org.springframework.context.annotation.Bean; afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration") @ConditionalOnClass({ MongoClientSettings.class, MeterRegistry.class }) @ConditionalOnBean(MeterRegistry.class) -public class MongoMetricsAutoConfiguration { +public final class MongoMetricsAutoConfiguration { @ConditionalOnClass(MongoMetricsCommandListener.class) @ConditionalOnBooleanProperty(name = "management.metrics.mongo.command.enabled", matchIfMissing = true) diff --git a/module/spring-boot-mustache/src/main/java/org/springframework/boot/mustache/autoconfigure/MustacheAutoConfiguration.java b/module/spring-boot-mustache/src/main/java/org/springframework/boot/mustache/autoconfigure/MustacheAutoConfiguration.java index 3510d75c62e..453810dff8e 100644 --- a/module/spring-boot-mustache/src/main/java/org/springframework/boot/mustache/autoconfigure/MustacheAutoConfiguration.java +++ b/module/spring-boot-mustache/src/main/java/org/springframework/boot/mustache/autoconfigure/MustacheAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.context.annotation.Import; @ConditionalOnClass(Mustache.class) @EnableConfigurationProperties(MustacheProperties.class) @Import({ MustacheServletWebConfiguration.class, MustacheReactiveWebConfiguration.class }) -public class MustacheAutoConfiguration { +public final class MustacheAutoConfiguration { private static final Log logger = LogFactory.getLog(MustacheAutoConfiguration.class); @@ -50,13 +50,13 @@ public class MustacheAutoConfiguration { private final ApplicationContext applicationContext; - public MustacheAutoConfiguration(MustacheProperties mustache, ApplicationContext applicationContext) { + MustacheAutoConfiguration(MustacheProperties mustache, ApplicationContext applicationContext) { this.mustache = mustache; this.applicationContext = applicationContext; checkTemplateLocationExists(); } - public void checkTemplateLocationExists() { + private void checkTemplateLocationExists() { if (this.mustache.isCheckTemplateLocation()) { TemplateLocation location = new TemplateLocation(this.mustache.getPrefix()); if (!location.exists(this.applicationContext) && logger.isWarnEnabled()) { @@ -69,13 +69,13 @@ public class MustacheAutoConfiguration { @Bean @ConditionalOnMissingBean - public Mustache.Compiler mustacheCompiler(TemplateLoader mustacheTemplateLoader) { + Mustache.Compiler mustacheCompiler(TemplateLoader mustacheTemplateLoader) { return Mustache.compiler().withLoader(mustacheTemplateLoader); } @Bean @ConditionalOnMissingBean(TemplateLoader.class) - public MustacheResourceTemplateLoader mustacheTemplateLoader() { + MustacheResourceTemplateLoader mustacheTemplateLoader() { MustacheResourceTemplateLoader loader = new MustacheResourceTemplateLoader(this.mustache.getPrefix(), this.mustache.getSuffix()); loader.setCharset(this.mustache.getCharsetName()); diff --git a/module/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/Neo4jAutoConfiguration.java b/module/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/Neo4jAutoConfiguration.java index 45166da2886..1e781a49e17 100644 --- a/module/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/Neo4jAutoConfiguration.java +++ b/module/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/Neo4jAutoConfiguration.java @@ -60,7 +60,7 @@ import org.springframework.util.StringUtils; @AutoConfiguration @ConditionalOnClass(Driver.class) @EnableConfigurationProperties(Neo4jProperties.class) -public class Neo4jAutoConfiguration { +public final class Neo4jAutoConfiguration { @Bean @ConditionalOnMissingBean(Neo4jConnectionDetails.class) @@ -71,8 +71,7 @@ public class Neo4jAutoConfiguration { @Bean @ConditionalOnMissingBean - public Driver neo4jDriver(Neo4jProperties properties, Environment environment, - Neo4jConnectionDetails connectionDetails, + Driver neo4jDriver(Neo4jProperties properties, Environment environment, Neo4jConnectionDetails connectionDetails, ObjectProvider configBuilderCustomizers) { Config config = mapDriverConfig(properties, connectionDetails, diff --git a/module/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfiguration.java b/module/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfiguration.java index dbbbd924568..0a2fc4aafbc 100644 --- a/module/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfiguration.java +++ b/module/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfiguration.java @@ -44,6 +44,6 @@ import org.springframework.context.annotation.Import; @ConditionalOnBean(Driver.class) @ConditionalOnEnabledHealthIndicator("neo4j") @Import({ Neo4jReactiveConfiguration.class, Neo4jConfiguration.class }) -public class Neo4jHealthContributorAutoConfiguration { +public final class Neo4jHealthContributorAutoConfiguration { } diff --git a/module/spring-boot-netty/src/main/java/org/springframework/boot/netty/autoconfigure/NettyAutoConfiguration.java b/module/spring-boot-netty/src/main/java/org/springframework/boot/netty/autoconfigure/NettyAutoConfiguration.java index 4c6486aba3b..bd87ea8317c 100644 --- a/module/spring-boot-netty/src/main/java/org/springframework/boot/netty/autoconfigure/NettyAutoConfiguration.java +++ b/module/spring-boot-netty/src/main/java/org/springframework/boot/netty/autoconfigure/NettyAutoConfiguration.java @@ -35,9 +35,9 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration @ConditionalOnClass(NettyRuntime.class) @EnableConfigurationProperties(NettyProperties.class) -public class NettyAutoConfiguration { +public final class NettyAutoConfiguration { - public NettyAutoConfiguration(NettyProperties properties) { + NettyAutoConfiguration(NettyProperties properties) { if (properties.getLeakDetection() != null) { NettyProperties.LeakDetection leakDetection = properties.getLeakDetection(); ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.valueOf(leakDetection.name())); diff --git a/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/ObservationAutoConfiguration.java b/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/ObservationAutoConfiguration.java index 6e38a430fbf..6be08b276b2 100644 --- a/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/ObservationAutoConfiguration.java +++ b/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/ObservationAutoConfiguration.java @@ -48,7 +48,7 @@ import org.springframework.core.annotation.Order; @AutoConfiguration @ConditionalOnClass(ObservationRegistry.class) @EnableConfigurationProperties(ObservationProperties.class) -public class ObservationAutoConfiguration { +public final class ObservationAutoConfiguration { @Bean static ObservationRegistryPostProcessor observationRegistryPostProcessor( diff --git a/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/ScheduledTasksObservabilityAutoConfiguration.java b/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/ScheduledTasksObservabilityAutoConfiguration.java index 4ce81aaac1b..45f0d3ca8e9 100644 --- a/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/ScheduledTasksObservabilityAutoConfiguration.java +++ b/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/ScheduledTasksObservabilityAutoConfiguration.java @@ -37,7 +37,7 @@ import org.springframework.scheduling.config.ScheduledTaskRegistrar; @AutoConfiguration(after = ObservationAutoConfiguration.class) @ConditionalOnBean(ObservationRegistry.class) @ConditionalOnClass(ThreadPoolTaskScheduler.class) -public class ScheduledTasksObservabilityAutoConfiguration { +public final class ScheduledTasksObservabilityAutoConfiguration { @Bean ObservabilitySchedulingConfigurer observabilitySchedulingConfigurer(ObservationRegistry observationRegistry) { diff --git a/module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/OpenTelemetrySdkAutoConfiguration.java b/module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/OpenTelemetrySdkAutoConfiguration.java index 5d6a0912495..3e6dedaca3a 100644 --- a/module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/OpenTelemetrySdkAutoConfiguration.java +++ b/module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/OpenTelemetrySdkAutoConfiguration.java @@ -49,7 +49,7 @@ import org.springframework.core.env.Environment; @AutoConfiguration @ConditionalOnClass({ OpenTelemetry.class, OpenTelemetrySdk.class }) @EnableConfigurationProperties(OpenTelemetryProperties.class) -public class OpenTelemetrySdkAutoConfiguration { +public final class OpenTelemetrySdkAutoConfiguration { OpenTelemetrySdkAutoConfiguration() { } diff --git a/module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/logging/OpenTelemetryLoggingExportAutoConfiguration.java b/module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/logging/OpenTelemetryLoggingExportAutoConfiguration.java index d52f890e95a..5188527e00c 100644 --- a/module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/logging/OpenTelemetryLoggingExportAutoConfiguration.java +++ b/module/spring-boot-opentelemetry/src/main/java/org/springframework/boot/opentelemetry/autoconfigure/logging/OpenTelemetryLoggingExportAutoConfiguration.java @@ -37,6 +37,6 @@ import org.springframework.context.annotation.Import; @ConditionalOnEnabledLoggingExport("opentelemetry") @EnableConfigurationProperties(OpenTelemetryLoggingExportProperties.class) @Import({ OpenTelemetryLoggingConnectionDetailsConfiguration.class, OpenTelemetryLoggingTransportConfiguration.class }) -public class OpenTelemetryLoggingExportAutoConfiguration { +public final class OpenTelemetryLoggingExportAutoConfiguration { } diff --git a/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarAutoConfiguration.java b/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarAutoConfiguration.java index 0cb58e91962..710605de4ea 100644 --- a/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarAutoConfiguration.java +++ b/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarAutoConfiguration.java @@ -74,7 +74,7 @@ import org.springframework.pulsar.transaction.PulsarTransactionManager; @AutoConfiguration @ConditionalOnClass({ PulsarClient.class, PulsarTemplate.class }) @Import(PulsarConfiguration.class) -public class PulsarAutoConfiguration { +public final class PulsarAutoConfiguration { private final PulsarProperties properties; @@ -162,7 +162,7 @@ public class PulsarAutoConfiguration { @Bean @ConditionalOnMissingBean(PulsarAwareTransactionManager.class) @ConditionalOnBooleanProperty("spring.pulsar.transaction.enabled") - public PulsarTransactionManager pulsarTransactionManager(PulsarClient pulsarClient) { + PulsarTransactionManager pulsarTransactionManager(PulsarClient pulsarClient) { return new PulsarTransactionManager(pulsarClient); } diff --git a/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarReactiveAutoConfiguration.java b/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarReactiveAutoConfiguration.java index 6bbb01a7fa5..42f6db882d1 100644 --- a/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarReactiveAutoConfiguration.java +++ b/module/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/autoconfigure/PulsarReactiveAutoConfiguration.java @@ -70,7 +70,7 @@ import org.springframework.pulsar.reactive.listener.ReactivePulsarContainerPrope @AutoConfiguration(after = PulsarAutoConfiguration.class) @ConditionalOnClass({ PulsarClient.class, ReactivePulsarClient.class, ReactivePulsarTemplate.class }) @Import(PulsarConfiguration.class) -public class PulsarReactiveAutoConfiguration { +public final class PulsarReactiveAutoConfiguration { private final PulsarProperties properties; diff --git a/module/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/QuartzAutoConfiguration.java b/module/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/QuartzAutoConfiguration.java index ff9b87b77b0..f5b687320eb 100644 --- a/module/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/QuartzAutoConfiguration.java +++ b/module/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/QuartzAutoConfiguration.java @@ -58,11 +58,11 @@ import org.springframework.transaction.PlatformTransactionManager; "org.springframework.boot.hibernate.autoconfigure.HibernateJpaAutoConfiguration" }) @ConditionalOnClass({ Scheduler.class, SchedulerFactoryBean.class, PlatformTransactionManager.class }) @EnableConfigurationProperties(QuartzProperties.class) -public class QuartzAutoConfiguration { +public final class QuartzAutoConfiguration { @Bean @ConditionalOnMissingBean - public SchedulerFactoryBean quartzScheduler(QuartzProperties properties, + SchedulerFactoryBean quartzScheduler(QuartzProperties properties, ObjectProvider customizers, ObjectProvider jobDetails, Map calendars, ObjectProvider triggers, ApplicationContext applicationContext) { SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean(); @@ -100,7 +100,7 @@ public class QuartzAutoConfiguration { @Bean @Order(0) - public SchedulerFactoryBeanCustomizer dataSourceCustomizer(QuartzProperties properties, DataSource dataSource, + SchedulerFactoryBeanCustomizer dataSourceCustomizer(QuartzProperties properties, DataSource dataSource, @QuartzDataSource ObjectProvider quartzDataSource, ObjectProvider transactionManager, @QuartzTransactionManager ObjectProvider quartzTransactionManager) { diff --git a/module/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/endpoint/QuartzEndpointAutoConfiguration.java b/module/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/endpoint/QuartzEndpointAutoConfiguration.java index e10ec24d85a..304104d5f51 100644 --- a/module/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/endpoint/QuartzEndpointAutoConfiguration.java +++ b/module/spring-boot-quartz/src/main/java/org/springframework/boot/quartz/autoconfigure/endpoint/QuartzEndpointAutoConfiguration.java @@ -44,12 +44,12 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ Scheduler.class, QuartzEndpoint.class, ConditionalOnAvailableEndpoint.class }) @ConditionalOnAvailableEndpoint(QuartzEndpoint.class) @EnableConfigurationProperties(QuartzEndpointProperties.class) -public class QuartzEndpointAutoConfiguration { +public final class QuartzEndpointAutoConfiguration { @Bean @ConditionalOnBean(Scheduler.class) @ConditionalOnMissingBean - public QuartzEndpoint quartzEndpoint(Scheduler scheduler, ObjectProvider sanitizingFunctions) { + QuartzEndpoint quartzEndpoint(Scheduler scheduler, ObjectProvider sanitizingFunctions) { return new QuartzEndpoint(scheduler, sanitizingFunctions.orderedStream().toList()); } @@ -57,7 +57,7 @@ public class QuartzEndpointAutoConfiguration { @ConditionalOnBean(QuartzEndpoint.class) @ConditionalOnMissingBean @ConditionalOnAvailableEndpoint(exposure = EndpointExposure.WEB) - public QuartzEndpointWebExtension quartzEndpointWebExtension(QuartzEndpoint endpoint, + QuartzEndpointWebExtension quartzEndpointWebExtension(QuartzEndpoint endpoint, QuartzEndpointProperties properties) { return new QuartzEndpointWebExtension(endpoint, properties.getShowValues(), properties.getRoles()); } diff --git a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcAutoConfiguration.java b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcAutoConfiguration.java index 8f7ef53b94a..200ac369ab1 100644 --- a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcAutoConfiguration.java +++ b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcAutoConfiguration.java @@ -49,7 +49,7 @@ import org.springframework.util.StringUtils; @EnableConfigurationProperties(R2dbcProperties.class) @Import({ ConnectionFactoryConfigurations.PoolConfiguration.class, ConnectionFactoryConfigurations.GenericConfiguration.class, ConnectionFactoryDependentConfiguration.class }) -public class R2dbcAutoConfiguration { +public final class R2dbcAutoConfiguration { @Bean @ConditionalOnMissingBean(R2dbcConnectionDetails.class) diff --git a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.java b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.java index fe7e17de45f..db86a15ff30 100644 --- a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.java +++ b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcInitializationAutoConfiguration.java @@ -48,7 +48,7 @@ import org.springframework.util.StringUtils; @ConditionalOnSqlInitialization @Import(DatabaseInitializationDependencyConfigurer.class) @EnableConfigurationProperties(SqlInitializationProperties.class) -public class R2dbcInitializationAutoConfiguration { +public final class R2dbcInitializationAutoConfiguration { @Bean ApplicationR2dbcScriptDatabaseInitializer r2dbcScriptDatabaseInitializer(ConnectionFactory connectionFactory, diff --git a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcProxyAutoConfiguration.java b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcProxyAutoConfiguration.java index b8f4fe5ba4d..fc1e667c00d 100644 --- a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcProxyAutoConfiguration.java +++ b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcProxyAutoConfiguration.java @@ -35,7 +35,7 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration @ConditionalOnClass({ ConnectionFactory.class, ProxyConnectionFactory.class }) -public class R2dbcProxyAutoConfiguration { +public final class R2dbcProxyAutoConfiguration { @Bean ConnectionFactoryDecorator connectionFactoryDecorator( diff --git a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcTransactionManagerAutoConfiguration.java b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcTransactionManagerAutoConfiguration.java index 83067dc6dee..f1eac778e36 100644 --- a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcTransactionManagerAutoConfiguration.java +++ b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/R2dbcTransactionManagerAutoConfiguration.java @@ -40,11 +40,11 @@ import org.springframework.transaction.ReactiveTransactionManager; @ConditionalOnClass({ R2dbcTransactionManager.class, ReactiveTransactionManager.class }) @ConditionalOnSingleCandidate(ConnectionFactory.class) @AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE) -public class R2dbcTransactionManagerAutoConfiguration { +public final class R2dbcTransactionManagerAutoConfiguration { @Bean @ConditionalOnMissingBean(ReactiveTransactionManager.class) - public R2dbcTransactionManager connectionFactoryTransactionManager(ConnectionFactory connectionFactory) { + R2dbcTransactionManager connectionFactoryTransactionManager(ConnectionFactory connectionFactory) { return new R2dbcTransactionManager(connectionFactory); } diff --git a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfiguration.java b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfiguration.java index 613f81e58c9..7db9d333d06 100644 --- a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfiguration.java +++ b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ ConnectionFactory.class, ConditionalOnEnabledHealthIndicator.class }) @ConditionalOnBean(ConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("r2dbc") -public class ConnectionFactoryHealthContributorAutoConfiguration +public final class ConnectionFactoryHealthContributorAutoConfiguration extends CompositeReactiveHealthContributorConfiguration { ConnectionFactoryHealthContributorAutoConfiguration() { diff --git a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/metrics/ConnectionPoolMetricsAutoConfiguration.java b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/metrics/ConnectionPoolMetricsAutoConfiguration.java index 640523fb7f9..2161b54ae68 100644 --- a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/metrics/ConnectionPoolMetricsAutoConfiguration.java +++ b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/metrics/ConnectionPoolMetricsAutoConfiguration.java @@ -44,10 +44,10 @@ import org.springframework.boot.r2dbc.metrics.ConnectionPoolMetrics; afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration") @ConditionalOnClass({ ConnectionPool.class, MeterRegistry.class }) @ConditionalOnBean({ ConnectionFactory.class, MeterRegistry.class }) -public class ConnectionPoolMetricsAutoConfiguration { +public final class ConnectionPoolMetricsAutoConfiguration { @Autowired - public void bindConnectionPoolsToRegistry(ConfigurableListableBeanFactory beanFactory, MeterRegistry registry) { + void bindConnectionPoolsToRegistry(ConfigurableListableBeanFactory beanFactory, MeterRegistry registry) { SimpleAutowireCandidateResolver.resolveAutowireCandidates(beanFactory, ConnectionFactory.class) .forEach((beanName, connectionFactory) -> { ConnectionPool pool = extractPool(connectionFactory); diff --git a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/observation/R2dbcObservationAutoConfiguration.java b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/observation/R2dbcObservationAutoConfiguration.java index 1179ea302a1..23bd768713c 100644 --- a/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/observation/R2dbcObservationAutoConfiguration.java +++ b/module/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/observation/R2dbcObservationAutoConfiguration.java @@ -46,7 +46,7 @@ import org.springframework.core.annotation.Order; @ConditionalOnClass({ ConnectionFactory.class, ProxyConnectionFactory.class, ObservationRegistry.class }) @ConditionalOnBean(ObservationRegistry.class) @EnableConfigurationProperties(R2dbcObservationProperties.class) -public class R2dbcObservationAutoConfiguration { +public final class R2dbcObservationAutoConfiguration { /** * {@code @Order} value of the observation customizer. diff --git a/module/spring-boot-reactor-netty/src/main/java/org/springframework/boot/reactor/netty/autoconfigure/NettyReactiveWebServerAutoConfiguration.java b/module/spring-boot-reactor-netty/src/main/java/org/springframework/boot/reactor/netty/autoconfigure/NettyReactiveWebServerAutoConfiguration.java index b552a858261..bf2eaf64744 100644 --- a/module/spring-boot-reactor-netty/src/main/java/org/springframework/boot/reactor/netty/autoconfigure/NettyReactiveWebServerAutoConfiguration.java +++ b/module/spring-boot-reactor-netty/src/main/java/org/springframework/boot/reactor/netty/autoconfigure/NettyReactiveWebServerAutoConfiguration.java @@ -48,7 +48,7 @@ import org.springframework.http.client.ReactorResourceFactory; @ConditionalOnClass({ ReactiveHttpInputMessage.class, HttpServer.class }) @EnableConfigurationProperties(NettyServerProperties.class) @Import({ ReactiveWebServerConfiguration.class, ReactorResourceFactoryConfiguration.class }) -public class NettyReactiveWebServerAutoConfiguration { +public final class NettyReactiveWebServerAutoConfiguration { @Bean @ConditionalOnMissingBean(ReactiveWebServerFactory.class) diff --git a/module/spring-boot-reactor-netty/src/main/java/org/springframework/boot/reactor/netty/autoconfigure/actuate/web/server/NettyReactiveManagementContextAutoConfiguration.java b/module/spring-boot-reactor-netty/src/main/java/org/springframework/boot/reactor/netty/autoconfigure/actuate/web/server/NettyReactiveManagementContextAutoConfiguration.java index 77ae6a0ae2a..62bc07125f5 100644 --- a/module/spring-boot-reactor-netty/src/main/java/org/springframework/boot/reactor/netty/autoconfigure/actuate/web/server/NettyReactiveManagementContextAutoConfiguration.java +++ b/module/spring-boot-reactor-netty/src/main/java/org/springframework/boot/reactor/netty/autoconfigure/actuate/web/server/NettyReactiveManagementContextAutoConfiguration.java @@ -40,7 +40,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ HttpServer.class, ManagementContextFactory.class }) @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnManagementPort(ManagementPortType.DIFFERENT) -public class NettyReactiveManagementContextAutoConfiguration { +public final class NettyReactiveManagementContextAutoConfiguration { @Bean static ManagementContextFactory reactiveWebChildContextFactory() { diff --git a/module/spring-boot-reactor/src/main/java/org/springframework/boot/reactor/autoconfigure/ReactorAutoConfiguration.java b/module/spring-boot-reactor/src/main/java/org/springframework/boot/reactor/autoconfigure/ReactorAutoConfiguration.java index 2e521c97516..8bee48a0147 100644 --- a/module/spring-boot-reactor/src/main/java/org/springframework/boot/reactor/autoconfigure/ReactorAutoConfiguration.java +++ b/module/spring-boot-reactor/src/main/java/org/springframework/boot/reactor/autoconfigure/ReactorAutoConfiguration.java @@ -34,7 +34,7 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration @ConditionalOnClass(Hooks.class) @EnableConfigurationProperties(ReactorProperties.class) -public class ReactorAutoConfiguration { +public final class ReactorAutoConfiguration { ReactorAutoConfiguration(ReactorProperties properties) { if (properties.getContextPropagation() == ReactorProperties.ContextPropagationMode.AUTO) { diff --git a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfiguration.java b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfiguration.java index 8e8f502e096..190211ecc2f 100644 --- a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfiguration.java +++ b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfiguration.java @@ -54,7 +54,7 @@ import org.springframework.web.client.RestClient.Builder; after = { HttpClientAutoConfiguration.class, TaskExecutionAutoConfiguration.class, SslAutoConfiguration.class }) @ConditionalOnClass(RestClient.class) @Conditional(NotReactiveWebApplicationOrVirtualThreadsExecutorEnabledCondition.class) -public class RestClientAutoConfiguration { +public final class RestClientAutoConfiguration { @Bean @ConditionalOnMissingBean(RestClientSsl.class) diff --git a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientObservationAutoConfiguration.java b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientObservationAutoConfiguration.java index b9e1fb5bf01..b42cc24966f 100644 --- a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientObservationAutoConfiguration.java +++ b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientObservationAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.web.client.RestClient; ObservationProperties.class }) @ConditionalOnBean({ RestClient.Builder.class, ObservationRegistry.class }) @EnableConfigurationProperties(ObservationProperties.class) -public class RestClientObservationAutoConfiguration { +public final class RestClientObservationAutoConfiguration { @Bean RestClientCustomizer observationRestClientCustomizer(ObservationRegistry observationRegistry, diff --git a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateAutoConfiguration.java b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateAutoConfiguration.java index 2dcf0397e42..82e468aad45 100644 --- a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateAutoConfiguration.java +++ b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateAutoConfiguration.java @@ -44,11 +44,11 @@ import org.springframework.web.client.RestTemplate; @AutoConfiguration(after = HttpClientAutoConfiguration.class) @ConditionalOnClass({ RestTemplate.class, HttpMessageConverters.class }) @Conditional(NotReactiveWebApplicationCondition.class) -public class RestTemplateAutoConfiguration { +public final class RestTemplateAutoConfiguration { @Bean @Lazy - public RestTemplateBuilderConfigurer restTemplateBuilderConfigurer( + RestTemplateBuilderConfigurer restTemplateBuilderConfigurer( ObjectProvider> clientHttpRequestFactoryBuilder, ObjectProvider clientHttpRequestFactorySettings, ObjectProvider messageConverters, @@ -66,7 +66,7 @@ public class RestTemplateAutoConfiguration { @Bean @Lazy @ConditionalOnMissingBean - public RestTemplateBuilder restTemplateBuilder(RestTemplateBuilderConfigurer restTemplateBuilderConfigurer) { + RestTemplateBuilder restTemplateBuilder(RestTemplateBuilderConfigurer restTemplateBuilderConfigurer) { return restTemplateBuilderConfigurer.configure(new RestTemplateBuilder()); } diff --git a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateObservationAutoConfiguration.java b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateObservationAutoConfiguration.java index 0dc13bf2ad3..81f09e89439 100644 --- a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateObservationAutoConfiguration.java +++ b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateObservationAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.web.client.RestTemplate; ObservationProperties.class }) @ConditionalOnBean({ ObservationRegistry.class, RestTemplateBuilder.class }) @EnableConfigurationProperties(ObservationProperties.class) -public class RestTemplateObservationAutoConfiguration { +public final class RestTemplateObservationAutoConfiguration { @Bean ObservationRestTemplateCustomizer observationRestTemplateCustomizer(ObservationRegistry observationRegistry, diff --git a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java index caa4a412ef7..3a3396e76ce 100644 --- a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java +++ b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java @@ -51,7 +51,7 @@ import org.springframework.web.service.registry.ImportHttpServices; @ConditionalOnBean(HttpServiceProxyRegistry.class) @Conditional(NotReactiveWebApplicationCondition.class) @EnableConfigurationProperties(HttpClientServiceProperties.class) -public class HttpServiceClientAutoConfiguration implements BeanClassLoaderAware { +public final class HttpServiceClientAutoConfiguration implements BeanClassLoaderAware { private ClassLoader beanClassLoader; diff --git a/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketMessagingAutoConfiguration.java b/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketMessagingAutoConfiguration.java index b798b65afa9..b62408a7634 100644 --- a/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketMessagingAutoConfiguration.java +++ b/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketMessagingAutoConfiguration.java @@ -37,11 +37,11 @@ import org.springframework.messaging.rsocket.annotation.support.RSocketMessageHa */ @AutoConfiguration(after = RSocketStrategiesAutoConfiguration.class) @ConditionalOnClass({ RSocketRequester.class, io.rsocket.RSocket.class, TcpServerTransport.class }) -public class RSocketMessagingAutoConfiguration { +public final class RSocketMessagingAutoConfiguration { @Bean @ConditionalOnMissingBean - public RSocketMessageHandler messageHandler(RSocketStrategies rSocketStrategies, + RSocketMessageHandler messageHandler(RSocketStrategies rSocketStrategies, ObjectProvider customizers) { RSocketMessageHandler messageHandler = new RSocketMessageHandler(); messageHandler.setRSocketStrategies(rSocketStrategies); diff --git a/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketRequesterAutoConfiguration.java b/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketRequesterAutoConfiguration.java index bbb3a441f6e..57e36af8361 100644 --- a/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketRequesterAutoConfiguration.java +++ b/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketRequesterAutoConfiguration.java @@ -44,12 +44,12 @@ import org.springframework.messaging.rsocket.RSocketStrategies; */ @AutoConfiguration(after = RSocketStrategiesAutoConfiguration.class) @ConditionalOnClass({ RSocketRequester.class, io.rsocket.RSocket.class, HttpServer.class, TcpServerTransport.class }) -public class RSocketRequesterAutoConfiguration { +public final class RSocketRequesterAutoConfiguration { @Bean @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @ConditionalOnMissingBean - public RSocketRequester.Builder rSocketRequesterBuilder(RSocketStrategies strategies, + RSocketRequester.Builder rSocketRequesterBuilder(RSocketStrategies strategies, ObjectProvider connectorConfigurers) { Builder builder = RSocketRequester.builder().rsocketStrategies(strategies); connectorConfigurers.orderedStream().forEach(builder::rsocketConnector); diff --git a/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketServerAutoConfiguration.java b/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketServerAutoConfiguration.java index ae9dcc104a3..f1fd94fa1b6 100644 --- a/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketServerAutoConfiguration.java +++ b/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketServerAutoConfiguration.java @@ -68,7 +68,7 @@ import org.springframework.util.unit.DataSize; @ConditionalOnClass({ RSocketServer.class, RSocketStrategies.class, HttpServer.class, TcpServerTransport.class }) @ConditionalOnBean(RSocketMessageHandler.class) @EnableConfigurationProperties(RSocketProperties.class) -public class RSocketServerAutoConfiguration { +public final class RSocketServerAutoConfiguration { @Conditional(OnRSocketWebServerCondition.class) @Configuration(proxyBeanMethods = false) diff --git a/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketStrategiesAutoConfiguration.java b/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketStrategiesAutoConfiguration.java index 731c515f676..c5a1cc2784a 100644 --- a/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketStrategiesAutoConfiguration.java +++ b/module/spring-boot-rsocket/src/main/java/org/springframework/boot/rsocket/autoconfigure/RSocketStrategiesAutoConfiguration.java @@ -43,13 +43,13 @@ import org.springframework.web.util.pattern.PathPatternRouteMatcher; */ @AutoConfiguration(afterName = "org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration") @ConditionalOnClass({ io.rsocket.RSocket.class, RSocketStrategies.class, PooledByteBufAllocator.class }) -public class RSocketStrategiesAutoConfiguration { +public final class RSocketStrategiesAutoConfiguration { private static final String PATHPATTERN_ROUTEMATCHER_CLASS = "org.springframework.web.util.pattern.PathPatternRouteMatcher"; @Bean @ConditionalOnMissingBean - public RSocketStrategies rSocketStrategies(ObjectProvider customizers) { + RSocketStrategies rSocketStrategies(ObjectProvider customizers) { RSocketStrategies.Builder builder = RSocketStrategies.builder(); if (ClassUtils.isPresent(PATHPATTERN_ROUTEMATCHER_CLASS, null)) { builder.routeMatcher(new PathPatternRouteMatcher()); @@ -68,7 +68,7 @@ public class RSocketStrategiesAutoConfiguration { @Bean @Order(0) @ConditionalOnBean(org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.class) - public RSocketStrategiesCustomizer jacksonCborRSocketStrategyCustomizer( + RSocketStrategiesCustomizer jacksonCborRSocketStrategyCustomizer( org.springframework.http.converter.json.Jackson2ObjectMapperBuilder builder) { return (strategy) -> { ObjectMapper objectMapper = builder.createXmlMapper(false).factory(new CBORFactory()).build(); @@ -92,7 +92,7 @@ public class RSocketStrategiesAutoConfiguration { @Bean @Order(1) @ConditionalOnBean(ObjectMapper.class) - public RSocketStrategiesCustomizer jacksonJsonRSocketStrategyCustomizer(ObjectMapper objectMapper) { + RSocketStrategiesCustomizer jacksonJsonRSocketStrategyCustomizer(ObjectMapper objectMapper) { return (strategy) -> { strategy.decoder( new org.springframework.http.codec.json.Jackson2JsonDecoder(objectMapper, SUPPORTED_TYPES)); diff --git a/module/spring-boot-security-oauth2-authorization-server/src/main/java/org/springframework/boot/security/oauth2/server/authorization/autoconfigure/servlet/OAuth2AuthorizationServerAutoConfiguration.java b/module/spring-boot-security-oauth2-authorization-server/src/main/java/org/springframework/boot/security/oauth2/server/authorization/autoconfigure/servlet/OAuth2AuthorizationServerAutoConfiguration.java index c1686befcc5..c24430f13df 100644 --- a/module/spring-boot-security-oauth2-authorization-server/src/main/java/org/springframework/boot/security/oauth2/server/authorization/autoconfigure/servlet/OAuth2AuthorizationServerAutoConfiguration.java +++ b/module/spring-boot-security-oauth2-authorization-server/src/main/java/org/springframework/boot/security/oauth2/server/authorization/autoconfigure/servlet/OAuth2AuthorizationServerAutoConfiguration.java @@ -47,6 +47,6 @@ import org.springframework.security.oauth2.server.authorization.OAuth2Authorizat @ConditionalOnClass(OAuth2Authorization.class) @ConditionalOnWebApplication(type = Type.SERVLET) @Import({ OAuth2AuthorizationServerConfiguration.class, OAuth2AuthorizationServerWebSecurityConfiguration.class }) -public class OAuth2AuthorizationServerAutoConfiguration { +public final class OAuth2AuthorizationServerAutoConfiguration { } diff --git a/module/spring-boot-security-oauth2-authorization-server/src/main/java/org/springframework/boot/security/oauth2/server/authorization/autoconfigure/servlet/OAuth2AuthorizationServerJwtAutoConfiguration.java b/module/spring-boot-security-oauth2-authorization-server/src/main/java/org/springframework/boot/security/oauth2/server/authorization/autoconfigure/servlet/OAuth2AuthorizationServerJwtAutoConfiguration.java index c0591052982..900ef596134 100644 --- a/module/spring-boot-security-oauth2-authorization-server/src/main/java/org/springframework/boot/security/oauth2/server/authorization/autoconfigure/servlet/OAuth2AuthorizationServerJwtAutoConfiguration.java +++ b/module/spring-boot-security-oauth2-authorization-server/src/main/java/org/springframework/boot/security/oauth2/server/authorization/autoconfigure/servlet/OAuth2AuthorizationServerJwtAutoConfiguration.java @@ -53,7 +53,7 @@ import org.springframework.security.oauth2.server.authorization.config.annotatio @AutoConfiguration(after = UserDetailsServiceAutoConfiguration.class) @ConditionalOnClass({ OAuth2Authorization.class, JWKSource.class }) @ConditionalOnWebApplication(type = Type.SERVLET) -public class OAuth2AuthorizationServerJwtAutoConfiguration { +public final class OAuth2AuthorizationServerJwtAutoConfiguration { @Bean @Role(BeanDefinition.ROLE_INFRASTRUCTURE) diff --git a/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/OAuth2ClientAutoConfiguration.java b/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/OAuth2ClientAutoConfiguration.java index db202421d22..eb5fe899364 100644 --- a/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/OAuth2ClientAutoConfiguration.java +++ b/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/OAuth2ClientAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.security.oauth2.client.registration.ClientRegistratio @ConditionalOnClass(ClientRegistration.class) @Import({ OAuth2ClientConfigurations.ClientRegistrationRepositoryConfiguration.class, OAuth2ClientConfigurations.OAuth2AuthorizedClientServiceConfiguration.class }) -public class OAuth2ClientAutoConfiguration { +public final class OAuth2ClientAutoConfiguration { static class NonReactiveWebApplicationCondition extends NoneNestedConditions { diff --git a/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientAutoConfiguration.java b/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientAutoConfiguration.java index bbb24c456dc..79feab792fb 100644 --- a/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientAutoConfiguration.java +++ b/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientAutoConfiguration.java @@ -40,7 +40,7 @@ import org.springframework.security.oauth2.client.registration.ClientRegistratio @ConditionalOnClass({ Flux.class, ClientRegistration.class }) @Import({ ReactiveOAuth2ClientConfigurations.ReactiveClientRegistrationRepositoryConfiguration.class, ReactiveOAuth2ClientConfigurations.ReactiveOAuth2AuthorizedClientServiceConfiguration.class }) -public class ReactiveOAuth2ClientAutoConfiguration { +public final class ReactiveOAuth2ClientAutoConfiguration { static class NonServletApplicationCondition extends NoneNestedConditions { diff --git a/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientWebSecurityAutoConfiguration.java b/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientWebSecurityAutoConfiguration.java index d0d811e1529..337c9cd2eb3 100644 --- a/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientWebSecurityAutoConfiguration.java +++ b/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/reactive/ReactiveOAuth2ClientWebSecurityAutoConfiguration.java @@ -50,7 +50,7 @@ import static org.springframework.security.config.Customizer.withDefaults; @ConditionalOnClass({ Flux.class, EnableWebFluxSecurity.class, ServerOAuth2AuthorizedClientRepository.class }) @ConditionalOnBean(ReactiveOAuth2AuthorizedClientService.class) @ConditionalOnWebApplication(type = Type.REACTIVE) -public class ReactiveOAuth2ClientWebSecurityAutoConfiguration { +public final class ReactiveOAuth2ClientWebSecurityAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/servlet/OAuth2ClientWebSecurityAutoConfiguration.java b/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/servlet/OAuth2ClientWebSecurityAutoConfiguration.java index 1bfb5f813fb..f79f5998422 100644 --- a/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/servlet/OAuth2ClientWebSecurityAutoConfiguration.java +++ b/module/spring-boot-security-oauth2-client/src/main/java/org/springframework/boot/security/oauth2/client/autoconfigure/servlet/OAuth2ClientWebSecurityAutoConfiguration.java @@ -50,7 +50,7 @@ import static org.springframework.security.config.Customizer.withDefaults; @ConditionalOnClass({ EnableWebSecurity.class, OAuth2AuthorizedClientRepository.class }) @ConditionalOnBean(OAuth2AuthorizedClientService.class) @ConditionalOnWebApplication(type = Type.SERVLET) -public class OAuth2ClientWebSecurityAutoConfiguration { +public final class OAuth2ClientWebSecurityAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/reactive/ReactiveOAuth2ResourceServerAutoConfiguration.java b/module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/reactive/ReactiveOAuth2ResourceServerAutoConfiguration.java index cdabf028af8..8a75a66a767 100644 --- a/module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/reactive/ReactiveOAuth2ResourceServerAutoConfiguration.java +++ b/module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/reactive/ReactiveOAuth2ResourceServerAutoConfiguration.java @@ -43,6 +43,6 @@ import org.springframework.security.config.annotation.web.reactive.EnableWebFlux @ConditionalOnWebApplication(type = Type.REACTIVE) @Import({ ReactiveOAuth2ResourceServerConfiguration.JwtConfiguration.class, ReactiveOAuth2ResourceServerConfiguration.OpaqueTokenConfiguration.class }) -public class ReactiveOAuth2ResourceServerAutoConfiguration { +public final class ReactiveOAuth2ResourceServerAutoConfiguration { } diff --git a/module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/servlet/OAuth2ResourceServerAutoConfiguration.java b/module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/servlet/OAuth2ResourceServerAutoConfiguration.java index 12c1201a732..71561a2a72a 100644 --- a/module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/servlet/OAuth2ResourceServerAutoConfiguration.java +++ b/module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/servlet/OAuth2ResourceServerAutoConfiguration.java @@ -42,6 +42,6 @@ import org.springframework.security.oauth2.server.resource.authentication.Bearer @ConditionalOnWebApplication(type = Type.SERVLET) @Import({ Oauth2ResourceServerConfiguration.JwtConfiguration.class, Oauth2ResourceServerConfiguration.OpaqueTokenConfiguration.class }) -public class OAuth2ResourceServerAutoConfiguration { +public final class OAuth2ResourceServerAutoConfiguration { } diff --git a/module/spring-boot-security-saml2/src/main/java/org/springframework/boot/security/saml2/autoconfigure/Saml2RelyingPartyAutoConfiguration.java b/module/spring-boot-security-saml2/src/main/java/org/springframework/boot/security/saml2/autoconfigure/Saml2RelyingPartyAutoConfiguration.java index 67c5047dbcc..7418a86084a 100644 --- a/module/spring-boot-security-saml2/src/main/java/org/springframework/boot/security/saml2/autoconfigure/Saml2RelyingPartyAutoConfiguration.java +++ b/module/spring-boot-security-saml2/src/main/java/org/springframework/boot/security/saml2/autoconfigure/Saml2RelyingPartyAutoConfiguration.java @@ -39,6 +39,6 @@ import org.springframework.security.saml2.provider.service.registration.RelyingP @ConditionalOnWebApplication(type = Type.SERVLET) @Import({ Saml2RelyingPartyRegistrationConfiguration.class, Saml2LoginConfiguration.class }) @EnableConfigurationProperties(Saml2RelyingPartyProperties.class) -public class Saml2RelyingPartyAutoConfiguration { +public final class Saml2RelyingPartyAutoConfiguration { } diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfiguration.java index fc58ba59cd7..8de8b04abf4 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/reactive/ReactiveManagementWebSecurityAutoConfiguration.java @@ -60,10 +60,10 @@ import static org.springframework.security.config.Customizer.withDefaults; @ConditionalOnClass({ EnableWebFluxSecurity.class, WebFilterChainProxy.class, WebEndpointAutoConfiguration.class }) @ConditionalOnMissingBean({ SecurityWebFilterChain.class, WebFilterChainProxy.class }) @ConditionalOnWebApplication(type = Type.REACTIVE) -public class ReactiveManagementWebSecurityAutoConfiguration { +public final class ReactiveManagementWebSecurityAutoConfiguration { @Bean - public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http, PreFlightRequestHandler handler) { + SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http, PreFlightRequestHandler handler) { http.authorizeExchange((exchanges) -> { exchanges.matchers(healthMatcher(), additionalHealthPathsMatcher()).permitAll(); exchanges.anyExchange().authenticated(); diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfiguration.java index d27df011d31..6e709b2a53b 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/actuate/servlet/ManagementWebSecurityAutoConfiguration.java @@ -54,7 +54,7 @@ import static org.springframework.security.config.Customizer.withDefaults; @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass({ RequestMatcher.class, WebEndpointAutoConfiguration.class }) @ConditionalOnDefaultWebSecurity -public class ManagementWebSecurityAutoConfiguration { +public final class ManagementWebSecurityAutoConfiguration { @Bean @Order(SecurityProperties.BASIC_AUTH_ORDER) diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/reactive/ReactiveSecurityAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/reactive/ReactiveSecurityAutoConfiguration.java index 1333d26f80b..a1456f8ae80 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/reactive/ReactiveSecurityAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/reactive/ReactiveSecurityAutoConfiguration.java @@ -51,7 +51,7 @@ import org.springframework.web.reactive.config.WebFluxConfigurer; @AutoConfiguration @EnableConfigurationProperties(SecurityProperties.class) @ConditionalOnClass({ Flux.class, EnableWebFluxSecurity.class, WebFilterChainProxy.class, WebFluxConfigurer.class }) -public class ReactiveSecurityAutoConfiguration { +public final class ReactiveSecurityAutoConfiguration { @ConditionalOnWebApplication(type = Type.REACTIVE) @Configuration(proxyBeanMethods = false) diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/reactive/ReactiveUserDetailsServiceAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/reactive/ReactiveUserDetailsServiceAutoConfiguration.java index 7ae16b5da98..b175071d850 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/reactive/ReactiveUserDetailsServiceAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/reactive/ReactiveUserDetailsServiceAutoConfiguration.java @@ -67,7 +67,7 @@ import org.springframework.util.StringUtils; @Conditional({ ReactiveUserDetailsServiceAutoConfiguration.RSocketEnabledOrReactiveWebApplication.class, ReactiveUserDetailsServiceAutoConfiguration.MissingAlternativeOrUserPropertiesConfigured.class }) @EnableConfigurationProperties(SecurityProperties.class) -public class ReactiveUserDetailsServiceAutoConfiguration { +public final class ReactiveUserDetailsServiceAutoConfiguration { private static final String NOOP_PASSWORD_PREFIX = "{noop}"; @@ -76,7 +76,7 @@ public class ReactiveUserDetailsServiceAutoConfiguration { private static final Log logger = LogFactory.getLog(ReactiveUserDetailsServiceAutoConfiguration.class); @Bean - public MapReactiveUserDetailsService reactiveUserDetailsService(SecurityProperties properties, + MapReactiveUserDetailsService reactiveUserDetailsService(SecurityProperties properties, ObjectProvider passwordEncoder) { SecurityProperties.User user = properties.getUser(); UserDetails userDetails = getUserDetails(user, getOrDeducePassword(user, passwordEncoder.getIfAvailable())); diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/rsocket/RSocketSecurityAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/rsocket/RSocketSecurityAutoConfiguration.java index 9bdf2431137..bb4c1cbce39 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/rsocket/RSocketSecurityAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/rsocket/RSocketSecurityAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.security.rsocket.core.SecuritySocketAcceptorIntercept @AutoConfiguration @EnableRSocketSecurity @ConditionalOnClass({ RSocketServerCustomizer.class, SecuritySocketAcceptorInterceptor.class }) -public class RSocketSecurityAutoConfiguration { +public final class RSocketSecurityAutoConfiguration { @Bean RSocketServerCustomizer springSecurityRSocketSecurity(SecuritySocketAcceptorInterceptor interceptor) { diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/SecurityAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/SecurityAutoConfiguration.java index 919cf21d8bc..de7aaebdd2d 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/SecurityAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/SecurityAutoConfiguration.java @@ -41,11 +41,11 @@ import org.springframework.security.authentication.DefaultAuthenticationEventPub @ConditionalOnClass(DefaultAuthenticationEventPublisher.class) @EnableConfigurationProperties(SecurityProperties.class) @Import({ SpringBootWebSecurityConfiguration.class, SecurityDataConfiguration.class }) -public class SecurityAutoConfiguration { +public final class SecurityAutoConfiguration { @Bean @ConditionalOnMissingBean(AuthenticationEventPublisher.class) - public DefaultAuthenticationEventPublisher authenticationEventPublisher(ApplicationEventPublisher publisher) { + DefaultAuthenticationEventPublisher authenticationEventPublisher(ApplicationEventPublisher publisher) { return new DefaultAuthenticationEventPublisher(publisher); } diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/SecurityFilterAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/SecurityFilterAutoConfiguration.java index 40695cb4802..cbeb96d590d 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/SecurityFilterAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/SecurityFilterAutoConfiguration.java @@ -50,14 +50,13 @@ import org.springframework.security.web.context.AbstractSecurityWebApplicationIn @ConditionalOnWebApplication(type = Type.SERVLET) @EnableConfigurationProperties(SecurityProperties.class) @ConditionalOnClass({ AbstractSecurityWebApplicationInitializer.class, SessionCreationPolicy.class }) -public class SecurityFilterAutoConfiguration { +public final class SecurityFilterAutoConfiguration { private static final String DEFAULT_FILTER_NAME = AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME; @Bean @ConditionalOnBean(name = DEFAULT_FILTER_NAME) - public DelegatingFilterProxyRegistrationBean securityFilterChainRegistration( - SecurityProperties securityProperties) { + DelegatingFilterProxyRegistrationBean securityFilterChainRegistration(SecurityProperties securityProperties) { DelegatingFilterProxyRegistrationBean registration = new DelegatingFilterProxyRegistrationBean( DEFAULT_FILTER_NAME); registration.setOrder(securityProperties.getFilter().getOrder()); diff --git a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/UserDetailsServiceAutoConfiguration.java b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/UserDetailsServiceAutoConfiguration.java index 8e415fff374..e134e688276 100644 --- a/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/UserDetailsServiceAutoConfiguration.java +++ b/module/spring-boot-security/src/main/java/org/springframework/boot/security/autoconfigure/servlet/UserDetailsServiceAutoConfiguration.java @@ -65,7 +65,7 @@ import org.springframework.util.StringUtils; @ConditionalOnMissingBean(value = { AuthenticationManager.class, AuthenticationProvider.class, UserDetailsService.class, AuthenticationManagerResolver.class }, type = "org.springframework.security.oauth2.jwt.JwtDecoder") @ConditionalOnWebApplication(type = Type.SERVLET) -public class UserDetailsServiceAutoConfiguration { +public final class UserDetailsServiceAutoConfiguration { private static final String NOOP_PASSWORD_PREFIX = "{noop}"; @@ -74,7 +74,7 @@ public class UserDetailsServiceAutoConfiguration { private static final Log logger = LogFactory.getLog(UserDetailsServiceAutoConfiguration.class); @Bean - public InMemoryUserDetailsManager inMemoryUserDetailsManager(SecurityProperties properties, + InMemoryUserDetailsManager inMemoryUserDetailsManager(SecurityProperties properties, ObjectProvider passwordEncoder) { SecurityProperties.User user = properties.getUser(); List roles = user.getRoles(); diff --git a/module/spring-boot-sendgrid/src/main/java/org/springframework/boot/sendgrid/autoconfigure/SendGridAutoConfiguration.java b/module/spring-boot-sendgrid/src/main/java/org/springframework/boot/sendgrid/autoconfigure/SendGridAutoConfiguration.java index 5d4b7320429..8158c6dba74 100644 --- a/module/spring-boot-sendgrid/src/main/java/org/springframework/boot/sendgrid/autoconfigure/SendGridAutoConfiguration.java +++ b/module/spring-boot-sendgrid/src/main/java/org/springframework/boot/sendgrid/autoconfigure/SendGridAutoConfiguration.java @@ -42,11 +42,11 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(SendGrid.class) @ConditionalOnProperty("spring.sendgrid.api-key") @EnableConfigurationProperties(SendGridProperties.class) -public class SendGridAutoConfiguration { +public final class SendGridAutoConfiguration { @Bean @ConditionalOnMissingBean(SendGridAPI.class) - public SendGrid sendGrid(SendGridProperties properties) { + SendGrid sendGrid(SendGridProperties properties) { if (properties.isProxyConfigured()) { HttpHost proxy = new HttpHost(properties.getProxy().getHost(), properties.getProxy().getPort()); return new SendGrid(properties.getApiKey(), new Client(HttpClientBuilder.create().setProxy(proxy).build())); diff --git a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/HttpEncodingAutoConfiguration.java b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/HttpEncodingAutoConfiguration.java index 5139b6dd23e..e3409e80e4a 100644 --- a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/HttpEncodingAutoConfiguration.java +++ b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/HttpEncodingAutoConfiguration.java @@ -41,11 +41,11 @@ import org.springframework.web.filter.CharacterEncodingFilter; @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass(CharacterEncodingFilter.class) @ConditionalOnBooleanProperty(name = "spring.servlet.encoding.enabled", matchIfMissing = true) -public class HttpEncodingAutoConfiguration { +public final class HttpEncodingAutoConfiguration { @Bean @ConditionalOnMissingBean - public CharacterEncodingFilter characterEncodingFilter(ServletEncodingProperties properties) { + CharacterEncodingFilter characterEncodingFilter(ServletEncodingProperties properties) { CharacterEncodingFilter filter = new OrderedCharacterEncodingFilter(); filter.setEncoding(properties.getCharset().name()); filter.setForceRequestEncoding(properties.shouldForce(ServletEncodingProperties.HttpMessageType.REQUEST)); diff --git a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/MultipartAutoConfiguration.java b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/MultipartAutoConfiguration.java index 3dbbed01900..be191f19929 100644 --- a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/MultipartAutoConfiguration.java +++ b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/MultipartAutoConfiguration.java @@ -51,7 +51,7 @@ import org.springframework.web.multipart.support.StandardServletMultipartResolve @ConditionalOnBooleanProperty(name = "spring.servlet.multipart.enabled", matchIfMissing = true) @ConditionalOnWebApplication(type = Type.SERVLET) @EnableConfigurationProperties(MultipartProperties.class) -public class MultipartAutoConfiguration { +public final class MultipartAutoConfiguration { /** * Well-known name for the MultipartResolver object in the bean factory for this @@ -61,19 +61,19 @@ public class MultipartAutoConfiguration { private final MultipartProperties multipartProperties; - public MultipartAutoConfiguration(MultipartProperties multipartProperties) { + MultipartAutoConfiguration(MultipartProperties multipartProperties) { this.multipartProperties = multipartProperties; } @Bean @ConditionalOnMissingBean - public MultipartConfigElement multipartConfigElement() { + MultipartConfigElement multipartConfigElement() { return this.multipartProperties.createMultipartConfig(); } @Bean(name = MULTIPART_RESOLVER_BEAN_NAME) @ConditionalOnMissingBean(MultipartResolver.class) - public StandardServletMultipartResolver multipartResolver() { + StandardServletMultipartResolver multipartResolver() { StandardServletMultipartResolver multipartResolver = new StandardServletMultipartResolver(); multipartResolver.setResolveLazily(this.multipartProperties.isResolveLazily()); multipartResolver.setStrictServletCompliance(this.multipartProperties.isStrictServletCompliance()); diff --git a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/ServletHttpExchangesAutoConfiguration.java b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/ServletHttpExchangesAutoConfiguration.java index f7667949994..464fe28f9b7 100644 --- a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/ServletHttpExchangesAutoConfiguration.java +++ b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/ServletHttpExchangesAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnBooleanProperty(name = "management.httpexchanges.recording.enabled", matchIfMissing = true) @ConditionalOnBean(HttpExchangeRepository.class) @EnableConfigurationProperties(HttpExchangesProperties.class) -public class ServletHttpExchangesAutoConfiguration { +public final class ServletHttpExchangesAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/ServletMappingsAutoConfiguration.java b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/ServletMappingsAutoConfiguration.java index 51f33ab1e93..4efdc119377 100644 --- a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/ServletMappingsAutoConfiguration.java +++ b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/ServletMappingsAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ ConditionalOnAvailableEndpoint.class, MappingsEndpoint.class }) @ConditionalOnAvailableEndpoint(MappingsEndpoint.class) @ConditionalOnWebApplication(type = Type.SERVLET) -public class ServletMappingsAutoConfiguration { +public final class ServletMappingsAutoConfiguration { @Bean ServletsMappingDescriptionProvider servletMappingDescriptionProvider() { diff --git a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/web/ServletManagementContextAutoConfiguration.java b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/web/ServletManagementContextAutoConfiguration.java index 51b85c9af94..a578cb0d01a 100644 --- a/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/web/ServletManagementContextAutoConfiguration.java +++ b/module/spring-boot-servlet/src/main/java/org/springframework/boot/servlet/autoconfigure/actuate/web/ServletManagementContextAutoConfiguration.java @@ -42,10 +42,10 @@ import org.springframework.context.annotation.Configuration; @ConditionalOnClass({ Servlet.class, WebEndpointProperties.class }) @ConditionalOnWebApplication(type = Type.SERVLET) @EnableConfigurationProperties(WebEndpointProperties.class) -public class ServletManagementContextAutoConfiguration { +public final class ServletManagementContextAutoConfiguration { @Bean - public ManagementServletContext managementServletContext(WebEndpointProperties properties) { + ManagementServletContext managementServletContext(WebEndpointProperties properties) { return properties::getBasePath; } @@ -56,7 +56,7 @@ public class ServletManagementContextAutoConfiguration { protected static class ApplicationContextFilterConfiguration { @Bean - public ApplicationContextHeaderFilter applicationContextIdFilter(ApplicationContext context) { + ApplicationContextHeaderFilter applicationContextIdFilter(ApplicationContext context) { return new ApplicationContextHeaderFilter(context); } diff --git a/module/spring-boot-session-data-mongodb/src/main/java/org/springframework/boot/session/data/mongodb/autoconfigure/MongoSessionAutoConfiguration.java b/module/spring-boot-session-data-mongodb/src/main/java/org/springframework/boot/session/data/mongodb/autoconfigure/MongoSessionAutoConfiguration.java index 62ec675b385..af512bad252 100644 --- a/module/spring-boot-session-data-mongodb/src/main/java/org/springframework/boot/session/data/mongodb/autoconfigure/MongoSessionAutoConfiguration.java +++ b/module/spring-boot-session-data-mongodb/src/main/java/org/springframework/boot/session/data/mongodb/autoconfigure/MongoSessionAutoConfiguration.java @@ -62,7 +62,7 @@ import org.springframework.session.data.mongo.config.annotation.web.reactive.Rea afterName = "org.springframework.boot.webflux.autoconfigure.WebSessionIdResolverAutoConfiguration") @ConditionalOnClass(Session.class) @EnableConfigurationProperties(MongoSessionProperties.class) -public class MongoSessionAutoConfiguration { +public final class MongoSessionAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ MongoOperations.class, MongoIndexedSessionRepository.class }) diff --git a/module/spring-boot-session-data-redis/src/main/java/org/springframework/boot/session/data/redis/autoconfigure/RedisSessionAutoConfiguration.java b/module/spring-boot-session-data-redis/src/main/java/org/springframework/boot/session/data/redis/autoconfigure/RedisSessionAutoConfiguration.java index f3a28c14dcb..165fc4d6588 100644 --- a/module/spring-boot-session-data-redis/src/main/java/org/springframework/boot/session/data/redis/autoconfigure/RedisSessionAutoConfiguration.java +++ b/module/spring-boot-session-data-redis/src/main/java/org/springframework/boot/session/data/redis/autoconfigure/RedisSessionAutoConfiguration.java @@ -75,7 +75,7 @@ import org.springframework.session.data.redis.config.annotation.web.server.Redis afterName = "org.springframework.boot.webflux.autoconfigure.WebSessionIdResolverAutoConfiguration") @ConditionalOnClass(Session.class) @EnableConfigurationProperties({ RedisSessionProperties.class, ServerProperties.class, SessionProperties.class }) -public class RedisSessionAutoConfiguration { +public final class RedisSessionAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ RedisTemplate.class, RedisIndexedSessionRepository.class }) diff --git a/module/spring-boot-session-hazelcast/src/main/java/org/springframework/boot/session/hazelcast/autoconfigure/HazelcastSessionAutoConfiguration.java b/module/spring-boot-session-hazelcast/src/main/java/org/springframework/boot/session/hazelcast/autoconfigure/HazelcastSessionAutoConfiguration.java index 3fa774e5574..0c33b161639 100644 --- a/module/spring-boot-session-hazelcast/src/main/java/org/springframework/boot/session/hazelcast/autoconfigure/HazelcastSessionAutoConfiguration.java +++ b/module/spring-boot-session-hazelcast/src/main/java/org/springframework/boot/session/hazelcast/autoconfigure/HazelcastSessionAutoConfiguration.java @@ -57,7 +57,7 @@ import org.springframework.session.hazelcast.config.annotation.web.http.Hazelcas @ConditionalOnBean(HazelcastInstance.class) @EnableConfigurationProperties({ HazelcastSessionProperties.class, ServerProperties.class, SessionProperties.class }) @Import(HazelcastHttpSessionConfiguration.class) -public class HazelcastSessionAutoConfiguration { +public final class HazelcastSessionAutoConfiguration { @Bean @Order(Ordered.HIGHEST_PRECEDENCE) diff --git a/module/spring-boot-session-jdbc/src/main/java/org/springframework/boot/session/jdbc/autoconfigure/JdbcSessionAutoConfiguration.java b/module/spring-boot-session-jdbc/src/main/java/org/springframework/boot/session/jdbc/autoconfigure/JdbcSessionAutoConfiguration.java index 3a26e383094..f7ab5601be6 100644 --- a/module/spring-boot-session-jdbc/src/main/java/org/springframework/boot/session/jdbc/autoconfigure/JdbcSessionAutoConfiguration.java +++ b/module/spring-boot-session-jdbc/src/main/java/org/springframework/boot/session/jdbc/autoconfigure/JdbcSessionAutoConfiguration.java @@ -61,7 +61,7 @@ import org.springframework.session.jdbc.config.annotation.web.http.JdbcHttpSessi @ConditionalOnBean(DataSource.class) @EnableConfigurationProperties({ JdbcSessionProperties.class, SessionProperties.class }) @Import({ DatabaseInitializationDependencyConfigurer.class, JdbcHttpSessionConfiguration.class }) -public class JdbcSessionAutoConfiguration { +public final class JdbcSessionAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-session/src/main/java/org/springframework/boot/session/autoconfigure/SessionAutoConfiguration.java b/module/spring-boot-session/src/main/java/org/springframework/boot/session/autoconfigure/SessionAutoConfiguration.java index d38336e163b..e13f2340d97 100644 --- a/module/spring-boot-session/src/main/java/org/springframework/boot/session/autoconfigure/SessionAutoConfiguration.java +++ b/module/spring-boot-session/src/main/java/org/springframework/boot/session/autoconfigure/SessionAutoConfiguration.java @@ -59,7 +59,7 @@ import org.springframework.session.web.http.HttpSessionIdResolver; @ConditionalOnClass(Session.class) @ConditionalOnWebApplication @EnableConfigurationProperties({ ServerProperties.class, SessionProperties.class }) -public class SessionAutoConfiguration { +public final class SessionAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.SERVLET) diff --git a/module/spring-boot-session/src/main/java/org/springframework/boot/session/autoconfigure/endpoint/SessionsEndpointAutoConfiguration.java b/module/spring-boot-session/src/main/java/org/springframework/boot/session/autoconfigure/endpoint/SessionsEndpointAutoConfiguration.java index 841d883d3dc..b8d4fc1ecb5 100644 --- a/module/spring-boot-session/src/main/java/org/springframework/boot/session/autoconfigure/endpoint/SessionsEndpointAutoConfiguration.java +++ b/module/spring-boot-session/src/main/java/org/springframework/boot/session/autoconfigure/endpoint/SessionsEndpointAutoConfiguration.java @@ -45,7 +45,7 @@ import org.springframework.session.SessionRepository; @AutoConfiguration(after = SessionAutoConfiguration.class) @ConditionalOnClass({ Session.class, SessionsEndpoint.class, ConditionalOnAvailableEndpoint.class }) @ConditionalOnAvailableEndpoint(SessionsEndpoint.class) -public class SessionsEndpointAutoConfiguration { +public final class SessionsEndpointAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.SERVLET) diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/GraphQlTesterAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/GraphQlTesterAutoConfiguration.java index 692e6cdb3c1..42b3ae099b5 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/GraphQlTesterAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/GraphQlTesterAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.http.MediaType; */ @AutoConfiguration(after = GraphQlAutoConfiguration.class) @ConditionalOnClass({ GraphQL.class, GraphQlTester.class }) -public class GraphQlTesterAutoConfiguration { +public final class GraphQlTesterAutoConfiguration { private static final MediaType APPLICATION_GRAPHQL = new MediaType("application", "graphql+json"); @@ -47,7 +47,7 @@ public class GraphQlTesterAutoConfiguration { @ConditionalOnBean(ExecutionGraphQlService.class) @ConditionalOnMissingBean @SuppressWarnings({ "removal", "deprecation" }) - public ExecutionGraphQlServiceTester graphQlTester(ExecutionGraphQlService graphQlService, + ExecutionGraphQlServiceTester graphQlTester(ExecutionGraphQlService graphQlService, ObjectProvider objectMapperProvider) { ExecutionGraphQlServiceTester.Builder builder = ExecutionGraphQlServiceTester.builder(graphQlService); objectMapperProvider.ifAvailable((objectMapper) -> { diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/HttpGraphQlTesterAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/HttpGraphQlTesterAutoConfiguration.java index e66c6bee210..b17d34495b2 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/HttpGraphQlTesterAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/graphql/tester/HttpGraphQlTesterAutoConfiguration.java @@ -37,12 +37,12 @@ import org.springframework.web.reactive.function.client.WebClient; */ @AutoConfiguration(after = { WebTestClientAutoConfiguration.class, MockMvcAutoConfiguration.class }) @ConditionalOnClass({ WebClient.class, WebTestClient.class, WebGraphQlTester.class }) -public class HttpGraphQlTesterAutoConfiguration { +public final class HttpGraphQlTesterAutoConfiguration { @Bean @ConditionalOnBean(WebTestClient.class) @ConditionalOnMissingBean - public HttpGraphQlTester webTestClientGraphQlTester(WebTestClient webTestClient, GraphQlProperties properties) { + HttpGraphQlTester webTestClientGraphQlTester(WebTestClient webTestClient, GraphQlProperties properties) { WebTestClient mutatedWebTestClient = webTestClient.mutate().baseUrl(properties.getHttp().getPath()).build(); return HttpGraphQlTester.create(mutatedWebTestClient); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/jdbc/TestDatabaseAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/jdbc/TestDatabaseAutoConfiguration.java index 54241d421ea..1eac6a8a39a 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/jdbc/TestDatabaseAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/jdbc/TestDatabaseAutoConfiguration.java @@ -75,7 +75,7 @@ import org.springframework.util.ObjectUtils; * @see AutoConfigureTestDatabase */ @AutoConfiguration(before = DataSourceAutoConfiguration.class) -public class TestDatabaseAutoConfiguration { +public final class TestDatabaseAutoConfiguration { @Bean @Role(BeanDefinition.ROLE_INFRASTRUCTURE) @@ -96,7 +96,7 @@ public class TestDatabaseAutoConfiguration { @Bean @ConditionalOnProperty(name = "spring.test.database.replace", havingValue = "AUTO_CONFIGURED") @ConditionalOnMissingBean - public DataSource dataSource(Environment environment) { + DataSource dataSource(Environment environment) { return new EmbeddedDataSourceFactory(environment).getEmbeddedDatabase(); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/json/JsonTestersAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/json/JsonTestersAutoConfiguration.java index 5b9678e4a7d..e14f1983778 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/json/JsonTestersAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/json/JsonTestersAutoConfiguration.java @@ -64,17 +64,17 @@ import org.springframework.util.ReflectionUtils; "org.springframework.boot.gson.autoconfigure.GsonAutoConfiguration" }) @ConditionalOnClass(name = "org.assertj.core.api.Assert") @ConditionalOnBooleanProperty("spring.test.jsontesters.enabled") -public class JsonTestersAutoConfiguration { +public final class JsonTestersAutoConfiguration { @Bean - public static JsonMarshalTestersBeanPostProcessor jsonMarshalTestersBeanPostProcessor() { + static JsonMarshalTestersBeanPostProcessor jsonMarshalTestersBeanPostProcessor() { return new JsonMarshalTestersBeanPostProcessor(); } @Bean @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @ImportRuntimeHints(BasicJsonTesterRuntimeHints.class) - public FactoryBean basicJsonTesterFactoryBean() { + FactoryBean basicJsonTesterFactoryBean() { return new JsonTesterFactoryBean(BasicJsonTester.class, null); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestEntityManagerAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestEntityManagerAutoConfiguration.java index a161ad1b87f..e6e40968f31 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestEntityManagerAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/orm/jpa/TestEntityManagerAutoConfiguration.java @@ -32,11 +32,11 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration(afterName = "org.springframework.boot.hibernate.autoconfigure.HibernateJpaAutoConfiguration") @ConditionalOnClass({ EntityManagerFactory.class }) -public class TestEntityManagerAutoConfiguration { +public final class TestEntityManagerAutoConfiguration { @Bean @ConditionalOnMissingBean - public TestEntityManager testEntityManager(EntityManagerFactory entityManagerFactory) { + TestEntityManager testEntityManager(EntityManagerFactory entityManagerFactory) { return new TestEntityManager(entityManagerFactory); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/restdocs/RestDocsAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/restdocs/RestDocsAutoConfiguration.java index a0ac7a505e4..ec4d6a12f19 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/restdocs/RestDocsAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/restdocs/RestDocsAutoConfiguration.java @@ -48,7 +48,7 @@ import org.springframework.restdocs.webtestclient.WebTestClientRestDocumentation */ @AutoConfiguration @ConditionalOnWebApplication -public class RestDocsAutoConfiguration { +public final class RestDocsAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(MockMvcRestDocumentation.class) diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/MockRestServiceServerAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/MockRestServiceServerAutoConfiguration.java index 53142384e67..a68dd3726b0 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/MockRestServiceServerAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/MockRestServiceServerAutoConfiguration.java @@ -50,20 +50,20 @@ import org.springframework.web.client.RestTemplate; @AutoConfiguration @ConditionalOnClass(MockServerRestTemplateCustomizer.class) @ConditionalOnBooleanProperty("spring.test.webclient.mockrestserviceserver.enabled") -public class MockRestServiceServerAutoConfiguration { +public final class MockRestServiceServerAutoConfiguration { @Bean - public MockServerRestTemplateCustomizer mockServerRestTemplateCustomizer() { + MockServerRestTemplateCustomizer mockServerRestTemplateCustomizer() { return new MockServerRestTemplateCustomizer(); } @Bean - public MockServerRestClientCustomizer mockServerRestClientCustomizer() { + MockServerRestClientCustomizer mockServerRestClientCustomizer() { return new MockServerRestClientCustomizer(); } @Bean - public MockRestServiceServer mockRestServiceServer(MockServerRestTemplateCustomizer restTemplateCustomizer, + MockRestServiceServer mockRestServiceServer(MockServerRestTemplateCustomizer restTemplateCustomizer, MockServerRestClientCustomizer restClientCustomizer) { try { return createDeferredMockRestServiceServer(restTemplateCustomizer, restClientCustomizer); diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/WebClientRestTemplateAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/WebClientRestTemplateAutoConfiguration.java index 79d43195a67..8b6b39d48bc 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/WebClientRestTemplateAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/WebClientRestTemplateAutoConfiguration.java @@ -34,10 +34,10 @@ import org.springframework.web.client.RestTemplate; @AutoConfiguration(afterName = "org.springframework.boot.restclient.autoconfigure.RestTemplateAutoConfiguration") @ConditionalOnBooleanProperty("spring.test.webclient.register-rest-template") @ConditionalOnClass(RestTemplateBuilder.class) -public class WebClientRestTemplateAutoConfiguration { +public final class WebClientRestTemplateAutoConfiguration { @Bean - public RestTemplate restTemplate(RestTemplateBuilder builder) { + RestTemplate restTemplate(RestTemplateBuilder builder) { return builder.build(); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/reactive/WebTestClientAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/reactive/WebTestClientAutoConfiguration.java index bff5a96b89b..98bdbff65cc 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/reactive/WebTestClientAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/reactive/WebTestClientAutoConfiguration.java @@ -47,13 +47,13 @@ import org.springframework.web.server.WebHandler; @ConditionalOnClass({ WebClient.class, WebTestClient.class }) @Import(WebTestClientSecurityConfiguration.class) @EnableConfigurationProperties -public class WebTestClientAutoConfiguration { +public final class WebTestClientAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnBean(WebHandler.class) - public WebTestClient webTestClient(ApplicationContext applicationContext, - List customizers, List configurers) { + WebTestClient webTestClient(ApplicationContext applicationContext, List customizers, + List configurers) { WebTestClient.MockServerSpec mockServerSpec = WebTestClient.bindToApplicationContext(applicationContext); for (MockServerConfigurer configurer : configurers) { mockServerSpec.apply(configurer); @@ -67,7 +67,7 @@ public class WebTestClientAutoConfiguration { @Bean @ConfigurationProperties("spring.test.webtestclient") - public SpringBootWebTestClientBuilderCustomizer springBootWebTestClientBuilderCustomizer( + SpringBootWebTestClientBuilderCustomizer springBootWebTestClientBuilderCustomizer( ObjectProvider codecCustomizers) { return new SpringBootWebTestClientBuilderCustomizer(codecCustomizers.orderedStream().toList()); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcAutoConfiguration.java index 7183b02f412..401a475824c 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcAutoConfiguration.java @@ -53,17 +53,17 @@ import org.springframework.web.servlet.DispatcherServlet; @ConditionalOnWebApplication(type = Type.SERVLET) @EnableConfigurationProperties({ ServerProperties.class, WebMvcProperties.class }) @Import({ MockMvcConfiguration.class, MockMvcTesterConfiguration.class }) -public class MockMvcAutoConfiguration { +public final class MockMvcAutoConfiguration { @Bean @ConditionalOnMissingBean - public DispatcherServletPath dispatcherServletPath(WebMvcProperties webMvcProperties) { + DispatcherServletPath dispatcherServletPath(WebMvcProperties webMvcProperties) { return () -> webMvcProperties.getServlet().getPath(); } @Bean @ConditionalOnMissingBean - public DispatcherServlet dispatcherServlet(MockMvc mockMvc) { + DispatcherServlet dispatcherServlet(MockMvc mockMvc) { return mockMvc.getDispatcherServlet(); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcWebClientAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcWebClientAutoConfiguration.java index a149f24c903..c90051ba0e7 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcWebClientAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcWebClientAutoConfiguration.java @@ -38,19 +38,19 @@ import org.springframework.test.web.servlet.htmlunit.MockMvcWebClientBuilder; @AutoConfiguration(after = MockMvcAutoConfiguration.class) @ConditionalOnClass(WebClient.class) @ConditionalOnBooleanProperty(name = "spring.test.mockmvc.webclient.enabled", matchIfMissing = true) -public class MockMvcWebClientAutoConfiguration { +public final class MockMvcWebClientAutoConfiguration { @Bean @ConditionalOnMissingBean({ WebClient.class, MockMvcWebClientBuilder.class }) @ConditionalOnBean(MockMvc.class) - public MockMvcWebClientBuilder mockMvcWebClientBuilder(MockMvc mockMvc, Environment environment) { + MockMvcWebClientBuilder mockMvcWebClientBuilder(MockMvc mockMvc, Environment environment) { return MockMvcWebClientBuilder.mockMvcSetup(mockMvc).withDelegate(new LocalHostWebClient(environment)); } @Bean @ConditionalOnMissingBean @ConditionalOnBean(MockMvcWebClientBuilder.class) - public WebClient htmlUnitWebClient(MockMvcWebClientBuilder builder) { + WebClient htmlUnitWebClient(MockMvcWebClientBuilder builder) { return builder.build(); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcWebDriverAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcWebDriverAutoConfiguration.java index b66e0371466..8c86d113437 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcWebDriverAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/servlet/MockMvcWebDriverAutoConfiguration.java @@ -44,14 +44,14 @@ import org.springframework.util.ClassUtils; @AutoConfiguration(after = MockMvcAutoConfiguration.class) @ConditionalOnClass(HtmlUnitDriver.class) @ConditionalOnBooleanProperty(name = "spring.test.mockmvc.webdriver.enabled", matchIfMissing = true) -public class MockMvcWebDriverAutoConfiguration { +public final class MockMvcWebDriverAutoConfiguration { private static final String SECURITY_CONTEXT_EXECUTOR = "org.springframework.security.concurrent.DelegatingSecurityContextExecutor"; @Bean @ConditionalOnMissingBean({ WebDriver.class, MockMvcHtmlUnitDriverBuilder.class }) @ConditionalOnBean(MockMvc.class) - public MockMvcHtmlUnitDriverBuilder mockMvcHtmlUnitDriverBuilder(MockMvc mockMvc, Environment environment) { + MockMvcHtmlUnitDriverBuilder mockMvcHtmlUnitDriverBuilder(MockMvc mockMvc, Environment environment) { return MockMvcHtmlUnitDriverBuilder.mockMvcSetup(mockMvc) .withDelegate(new LocalHostWebConnectionHtmlUnitDriver(environment, BrowserVersion.CHROME)); } @@ -59,7 +59,7 @@ public class MockMvcWebDriverAutoConfiguration { @Bean @ConditionalOnMissingBean(WebDriver.class) @ConditionalOnBean(MockMvcHtmlUnitDriverBuilder.class) - public HtmlUnitDriver htmlUnitDriver(MockMvcHtmlUnitDriverBuilder builder) { + HtmlUnitDriver htmlUnitDriver(MockMvcHtmlUnitDriverBuilder builder) { HtmlUnitDriver driver = builder.build(); if (ClassUtils.isPresent(SECURITY_CONTEXT_EXECUTOR, getClass().getClassLoader())) { driver.setExecutor(new DelegatingSecurityContextExecutor(Executors.newSingleThreadExecutor())); diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/MockWebServiceServerAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/MockWebServiceServerAutoConfiguration.java index d4e02b1d2e5..f4d546fdc71 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/MockWebServiceServerAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/MockWebServiceServerAutoConfiguration.java @@ -34,15 +34,15 @@ import org.springframework.ws.test.client.MockWebServiceServer; @AutoConfiguration @ConditionalOnBooleanProperty("spring.test.webservice.client.mockserver.enabled") @ConditionalOnClass({ MockWebServiceServer.class, WebServiceTemplate.class }) -public class MockWebServiceServerAutoConfiguration { +public final class MockWebServiceServerAutoConfiguration { @Bean - public TestMockWebServiceServer mockWebServiceServer() { + TestMockWebServiceServer mockWebServiceServer() { return new TestMockWebServiceServer(new MockWebServiceMessageSender()); } @Bean - public MockWebServiceServerWebServiceTemplateCustomizer mockWebServiceServerWebServiceTemplateCustomizer( + MockWebServiceServerWebServiceTemplateCustomizer mockWebServiceServerWebServiceTemplateCustomizer( TestMockWebServiceServer mockWebServiceServer) { return new MockWebServiceServerWebServiceTemplateCustomizer(mockWebServiceServer); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/WebServiceClientTemplateAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/WebServiceClientTemplateAutoConfiguration.java index 0d0b23a4de4..48435013619 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/WebServiceClientTemplateAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/WebServiceClientTemplateAutoConfiguration.java @@ -37,10 +37,10 @@ import org.springframework.ws.client.core.WebServiceTemplate; @ConditionalOnBooleanProperty("spring.test.webservice.client.register-web-service-template") @ConditionalOnClass(WebServiceTemplate.class) @ConditionalOnBean(WebServiceTemplateBuilder.class) -public class WebServiceClientTemplateAutoConfiguration { +public final class WebServiceClientTemplateAutoConfiguration { @Bean - public WebServiceTemplate webServiceTemplate(WebServiceTemplateBuilder builder) { + WebServiceTemplate webServiceTemplate(WebServiceTemplateBuilder builder) { return builder.build(); } diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/server/MockWebServiceClientAutoConfiguration.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/server/MockWebServiceClientAutoConfiguration.java index a335a252fda..2721eefe945 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/server/MockWebServiceClientAutoConfiguration.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/server/MockWebServiceClientAutoConfiguration.java @@ -31,7 +31,7 @@ import org.springframework.ws.test.server.MockWebServiceClient; */ @AutoConfiguration @ConditionalOnClass(MockWebServiceClient.class) -public class MockWebServiceClientAutoConfiguration { +public final class MockWebServiceClientAutoConfiguration { @Bean MockWebServiceClient mockWebServiceClient(ApplicationContext applicationContext) { diff --git a/module/spring-boot-thymeleaf/src/main/java/org/springframework/boot/thymeleaf/autoconfigure/ThymeleafAutoConfiguration.java b/module/spring-boot-thymeleaf/src/main/java/org/springframework/boot/thymeleaf/autoconfigure/ThymeleafAutoConfiguration.java index 9a80751d9ac..edfc4f4d4e6 100644 --- a/module/spring-boot-thymeleaf/src/main/java/org/springframework/boot/thymeleaf/autoconfigure/ThymeleafAutoConfiguration.java +++ b/module/spring-boot-thymeleaf/src/main/java/org/springframework/boot/thymeleaf/autoconfigure/ThymeleafAutoConfiguration.java @@ -75,7 +75,7 @@ import org.springframework.web.servlet.view.AbstractCachingViewResolver; @ConditionalOnClass({ TemplateMode.class, SpringTemplateEngine.class }) @Import({ TemplateEngineConfigurations.ReactiveTemplateEngineConfiguration.class, TemplateEngineConfigurations.DefaultTemplateEngineConfiguration.class }) -public class ThymeleafAutoConfiguration { +public final class ThymeleafAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnMissingBean(name = "defaultTemplateResolver") diff --git a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/actuate/web/server/TomcatReactiveManagementContextAutoConfiguration.java b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/actuate/web/server/TomcatReactiveManagementContextAutoConfiguration.java index 2889f4d0079..9bb3a598d02 100644 --- a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/actuate/web/server/TomcatReactiveManagementContextAutoConfiguration.java +++ b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/actuate/web/server/TomcatReactiveManagementContextAutoConfiguration.java @@ -41,7 +41,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ Tomcat.class, ManagementContextFactory.class }) @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnManagementPort(ManagementPortType.DIFFERENT) -public class TomcatReactiveManagementContextAutoConfiguration { +public final class TomcatReactiveManagementContextAutoConfiguration { @Bean static ManagementContextFactory reactiveWebChildContextFactory() { diff --git a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/actuate/web/server/TomcatServletManagementContextAutoConfiguration.java b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/actuate/web/server/TomcatServletManagementContextAutoConfiguration.java index 6cdc592a1cf..46b30d763e7 100644 --- a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/actuate/web/server/TomcatServletManagementContextAutoConfiguration.java +++ b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/actuate/web/server/TomcatServletManagementContextAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(ManagementContextFactory.class) @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnManagementPort(ManagementPortType.DIFFERENT) -public class TomcatServletManagementContextAutoConfiguration { +public final class TomcatServletManagementContextAutoConfiguration { @Bean static ManagementContextFactory servletWebChildContextFactory() { diff --git a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/metrics/TomcatMetricsAutoConfiguration.java b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/metrics/TomcatMetricsAutoConfiguration.java index 7c81ab9bb54..32120bb23ce 100644 --- a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/metrics/TomcatMetricsAutoConfiguration.java +++ b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/metrics/TomcatMetricsAutoConfiguration.java @@ -38,12 +38,12 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration(afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration") @ConditionalOnWebApplication @ConditionalOnClass({ TomcatMetrics.class, Manager.class, MeterRegistry.class }) -public class TomcatMetricsAutoConfiguration { +public final class TomcatMetricsAutoConfiguration { @Bean @ConditionalOnBean(MeterRegistry.class) @ConditionalOnMissingBean({ TomcatMetrics.class, TomcatMetricsBinder.class }) - public TomcatMetricsBinder tomcatMetricsBinder(MeterRegistry meterRegistry) { + TomcatMetricsBinder tomcatMetricsBinder(MeterRegistry meterRegistry) { return new TomcatMetricsBinder(meterRegistry); } diff --git a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/reactive/TomcatReactiveWebServerAutoConfiguration.java b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/reactive/TomcatReactiveWebServerAutoConfiguration.java index 2e72288c021..d1f3a9f625e 100644 --- a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/reactive/TomcatReactiveWebServerAutoConfiguration.java +++ b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/reactive/TomcatReactiveWebServerAutoConfiguration.java @@ -50,7 +50,7 @@ import org.springframework.http.ReactiveHttpInputMessage; @ConditionalOnWebApplication(type = Type.REACTIVE) @EnableConfigurationProperties(TomcatServerProperties.class) @Import({ TomcatWebServerConfiguration.class, ReactiveWebServerConfiguration.class }) -public class TomcatReactiveWebServerAutoConfiguration { +public final class TomcatReactiveWebServerAutoConfiguration { @Bean @ConditionalOnMissingBean(ReactiveWebServerFactory.class) diff --git a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/servlet/TomcatServletWebServerAutoConfiguration.java b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/servlet/TomcatServletWebServerAutoConfiguration.java index 23064bf5ab0..1b8ad7aef19 100644 --- a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/servlet/TomcatServletWebServerAutoConfiguration.java +++ b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/servlet/TomcatServletWebServerAutoConfiguration.java @@ -55,11 +55,11 @@ import org.springframework.context.annotation.Import; @ConditionalOnWebApplication(type = Type.SERVLET) @EnableConfigurationProperties(TomcatServerProperties.class) @Import({ ServletWebServerConfiguration.class, TomcatWebServerConfiguration.class }) -public class TomcatServletWebServerAutoConfiguration { +public final class TomcatServletWebServerAutoConfiguration { private final TomcatServerProperties tomcatProperties; - public TomcatServletWebServerAutoConfiguration(TomcatServerProperties tomcatProperties) { + TomcatServletWebServerAutoConfiguration(TomcatServerProperties tomcatProperties) { this.tomcatProperties = tomcatProperties; } diff --git a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/BraveAutoConfiguration.java b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/BraveAutoConfiguration.java index 8d7ac0f7cb1..b297d916d1d 100644 --- a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/BraveAutoConfiguration.java +++ b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/BraveAutoConfiguration.java @@ -68,7 +68,7 @@ import org.springframework.core.env.Environment; @Import({ BravePropagationConfigurations.PropagationWithoutBaggage.class, BravePropagationConfigurations.PropagationWithBaggage.class, BravePropagationConfigurations.NoPropagation.class }) -public class BraveAutoConfiguration { +public final class BraveAutoConfiguration { /** * Default value for application name if {@code spring.application.name} is not set. diff --git a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/MicrometerTracingAutoConfiguration.java b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/MicrometerTracingAutoConfiguration.java index 52d2d794f7c..c84e2ea71ea 100644 --- a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/MicrometerTracingAutoConfiguration.java +++ b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/MicrometerTracingAutoConfiguration.java @@ -56,7 +56,7 @@ import org.springframework.util.ClassUtils; */ @AutoConfiguration(after = ObservationAutoConfiguration.class) @ConditionalOnBean(Tracer.class) -public class MicrometerTracingAutoConfiguration { +public final class MicrometerTracingAutoConfiguration { /** * {@code @Order} value of {@link #defaultTracingObservationHandler(Tracer)}. @@ -76,7 +76,7 @@ public class MicrometerTracingAutoConfiguration { public static final int SENDER_TRACING_OBSERVATION_HANDLER_ORDER = 2000; @Bean - public ObservationHandlerGroup tracingObservationHandlerGroup(Tracer tracer) { + ObservationHandlerGroup tracingObservationHandlerGroup(Tracer tracer) { return ClassUtils.isPresent("io.micrometer.core.instrument.MeterRegistry", null) ? new TracingAndMeterObservationHandlerGroup(tracer) : ObservationHandlerGroup.of(TracingObservationHandler.class); @@ -85,7 +85,7 @@ public class MicrometerTracingAutoConfiguration { @Bean @ConditionalOnMissingBean @Order(DEFAULT_TRACING_OBSERVATION_HANDLER_ORDER) - public DefaultTracingObservationHandler defaultTracingObservationHandler(Tracer tracer) { + DefaultTracingObservationHandler defaultTracingObservationHandler(Tracer tracer) { return new DefaultTracingObservationHandler(tracer); } @@ -93,7 +93,7 @@ public class MicrometerTracingAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnBean(Propagator.class) @Order(SENDER_TRACING_OBSERVATION_HANDLER_ORDER) - public PropagatingSenderTracingObservationHandler propagatingSenderTracingObservationHandler(Tracer tracer, + PropagatingSenderTracingObservationHandler propagatingSenderTracingObservationHandler(Tracer tracer, Propagator propagator) { return new PropagatingSenderTracingObservationHandler<>(tracer, propagator); } @@ -102,7 +102,7 @@ public class MicrometerTracingAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnBean(Propagator.class) @Order(RECEIVER_TRACING_OBSERVATION_HANDLER_ORDER) - public PropagatingReceiverTracingObservationHandler propagatingReceiverTracingObservationHandler(Tracer tracer, + PropagatingReceiverTracingObservationHandler propagatingReceiverTracingObservationHandler(Tracer tracer, Propagator propagator) { return new PropagatingReceiverTracingObservationHandler<>(tracer, propagator); } diff --git a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/NoopTracerAutoConfiguration.java b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/NoopTracerAutoConfiguration.java index dc3d7a4fea9..abdcf1647a4 100644 --- a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/NoopTracerAutoConfiguration.java +++ b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/NoopTracerAutoConfiguration.java @@ -34,7 +34,7 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration(before = MicrometerTracingAutoConfiguration.class) @ConditionalOnClass(Tracer.class) @ConditionalOnMissingBean(Tracer.class) -public class NoopTracerAutoConfiguration { +public final class NoopTracerAutoConfiguration { @Bean Tracer noopTracer() { diff --git a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/OpenTelemetryTracingAutoConfiguration.java b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/OpenTelemetryTracingAutoConfiguration.java index e52ee6df1d6..f35d1b18ca4 100644 --- a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/OpenTelemetryTracingAutoConfiguration.java +++ b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/OpenTelemetryTracingAutoConfiguration.java @@ -72,7 +72,7 @@ import org.springframework.util.CollectionUtils; @Import({ OpenTelemetryPropagationConfigurations.PropagationWithoutBaggage.class, OpenTelemetryPropagationConfigurations.PropagationWithBaggage.class, OpenTelemetryPropagationConfigurations.NoPropagation.class }) -public class OpenTelemetryTracingAutoConfiguration { +public final class OpenTelemetryTracingAutoConfiguration { private static final Log logger = LogFactory.getLog(OpenTelemetryTracingAutoConfiguration.class); diff --git a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/otlp/OtlpTracingAutoConfiguration.java b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/otlp/OtlpTracingAutoConfiguration.java index 74170194232..6e923f5ff20 100644 --- a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/otlp/OtlpTracingAutoConfiguration.java +++ b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/otlp/OtlpTracingAutoConfiguration.java @@ -50,6 +50,6 @@ import org.springframework.context.annotation.Import; @ConditionalOnClass({ OtelTracer.class, SdkTracerProvider.class, OpenTelemetry.class, OtlpHttpSpanExporter.class }) @EnableConfigurationProperties(OtlpTracingProperties.class) @Import({ OtlpTracingConfigurations.ConnectionDetails.class, OtlpTracingConfigurations.Exporters.class }) -public class OtlpTracingAutoConfiguration { +public final class OtlpTracingAutoConfiguration { } diff --git a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/prometheus/PrometheusExemplarsAutoConfiguration.java b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/prometheus/PrometheusExemplarsAutoConfiguration.java index d91334dcac4..144c7a3a37a 100644 --- a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/prometheus/PrometheusExemplarsAutoConfiguration.java +++ b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/prometheus/PrometheusExemplarsAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.util.function.SingletonSupplier; after = MicrometerTracingAutoConfiguration.class) @ConditionalOnBean(Tracer.class) @ConditionalOnClass({ Tracer.class, SpanContext.class }) -public class PrometheusExemplarsAutoConfiguration { +public final class PrometheusExemplarsAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java index d68e9ca0930..cbade3adddc 100644 --- a/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java +++ b/module/spring-boot-tracing/src/main/java/org/springframework/boot/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java @@ -53,7 +53,7 @@ import org.springframework.context.annotation.Import; @AutoConfiguration(afterName = "org.springframework.boot.zipkin.autoconfigure.ZipkinAutoConfiguration") @ConditionalOnClass(Encoding.class) @Import({ BraveConfiguration.class, OpenTelemetryConfiguration.class }) -public class ZipkinTracingAutoConfiguration { +public final class ZipkinTracingAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(AsyncZipkinSpanHandler.class) diff --git a/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/PersistenceExceptionTranslationAutoConfiguration.java b/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/PersistenceExceptionTranslationAutoConfiguration.java index 85ab210e3b0..823414e36bd 100644 --- a/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/PersistenceExceptionTranslationAutoConfiguration.java +++ b/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/PersistenceExceptionTranslationAutoConfiguration.java @@ -36,12 +36,12 @@ import org.springframework.dao.annotation.PersistenceExceptionTranslationPostPro */ @AutoConfiguration @ConditionalOnClass(PersistenceExceptionTranslationPostProcessor.class) -public class PersistenceExceptionTranslationAutoConfiguration { +public final class PersistenceExceptionTranslationAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnBooleanProperty(name = "spring.dao.exceptiontranslation.enabled", matchIfMissing = true) - public static PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor( + static PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor( Environment environment) { PersistenceExceptionTranslationPostProcessor postProcessor = new PersistenceExceptionTranslationPostProcessor(); boolean proxyTargetClass = environment.getProperty("spring.aop.proxy-target-class", Boolean.class, diff --git a/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/TransactionAutoConfiguration.java b/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/TransactionAutoConfiguration.java index 40dc8ceb9a3..2a4156755cb 100644 --- a/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/TransactionAutoConfiguration.java +++ b/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/TransactionAutoConfiguration.java @@ -44,22 +44,22 @@ import org.springframework.transaction.support.TransactionTemplate; */ @AutoConfiguration @ConditionalOnClass(PlatformTransactionManager.class) -public class TransactionAutoConfiguration { +public final class TransactionAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnSingleCandidate(ReactiveTransactionManager.class) - public TransactionalOperator transactionalOperator(ReactiveTransactionManager transactionManager) { + TransactionalOperator transactionalOperator(ReactiveTransactionManager transactionManager) { return TransactionalOperator.create(transactionManager); } @Configuration(proxyBeanMethods = false) @ConditionalOnSingleCandidate(PlatformTransactionManager.class) - public static class TransactionTemplateConfiguration { + static class TransactionTemplateConfiguration { @Bean @ConditionalOnMissingBean(TransactionOperations.class) - public TransactionTemplate transactionTemplate(PlatformTransactionManager transactionManager) { + TransactionTemplate transactionTemplate(PlatformTransactionManager transactionManager) { return new TransactionTemplate(transactionManager); } @@ -68,19 +68,19 @@ public class TransactionAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnBean(TransactionManager.class) @ConditionalOnMissingBean(AbstractTransactionManagementConfiguration.class) - public static class EnableTransactionManagementConfiguration { + static class EnableTransactionManagementConfiguration { @Configuration(proxyBeanMethods = false) @EnableTransactionManagement(proxyTargetClass = false) @ConditionalOnBooleanProperty(name = "spring.aop.proxy-target-class", havingValue = false) - public static class JdkDynamicAutoProxyConfiguration { + static class JdkDynamicAutoProxyConfiguration { } @Configuration(proxyBeanMethods = false) @EnableTransactionManagement(proxyTargetClass = true) @ConditionalOnBooleanProperty(name = "spring.aop.proxy-target-class", matchIfMissing = true) - public static class CglibAutoProxyConfiguration { + static class CglibAutoProxyConfiguration { } diff --git a/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/TransactionManagerCustomizationAutoConfiguration.java b/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/TransactionManagerCustomizationAutoConfiguration.java index 91e6c6cbe77..36958abc46b 100644 --- a/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/TransactionManagerCustomizationAutoConfiguration.java +++ b/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/autoconfigure/TransactionManagerCustomizationAutoConfiguration.java @@ -35,7 +35,7 @@ import org.springframework.transaction.TransactionManager; @ConditionalOnClass(PlatformTransactionManager.class) @AutoConfiguration(before = TransactionAutoConfiguration.class) @EnableConfigurationProperties(TransactionProperties.class) -public class TransactionManagerCustomizationAutoConfiguration { +public final class TransactionManagerCustomizationAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/jta/autoconfigure/JtaAutoConfiguration.java b/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/jta/autoconfigure/JtaAutoConfiguration.java index 91df422fd08..10892147c0a 100644 --- a/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/jta/autoconfigure/JtaAutoConfiguration.java +++ b/module/spring-boot-tx/src/main/java/org/springframework/boot/transaction/jta/autoconfigure/JtaAutoConfiguration.java @@ -37,6 +37,6 @@ import org.springframework.context.annotation.Import; @ConditionalOnClass(jakarta.transaction.Transaction.class) @ConditionalOnBooleanProperty(name = "spring.jta.enabled", matchIfMissing = true) @Import(JndiJtaConfiguration.class) -public class JtaAutoConfiguration { +public final class JtaAutoConfiguration { } diff --git a/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/actuate/web/server/UndertowReactiveManagementContextAutoConfiguration.java b/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/actuate/web/server/UndertowReactiveManagementContextAutoConfiguration.java index 0a5712306c5..ccf37073ab5 100644 --- a/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/actuate/web/server/UndertowReactiveManagementContextAutoConfiguration.java +++ b/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/actuate/web/server/UndertowReactiveManagementContextAutoConfiguration.java @@ -40,7 +40,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ Undertow.class, ManagementContextFactory.class }) @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnManagementPort(ManagementPortType.DIFFERENT) -public class UndertowReactiveManagementContextAutoConfiguration { +public final class UndertowReactiveManagementContextAutoConfiguration { @Bean static ManagementContextFactory reactiveWebChildContextFactory() { diff --git a/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/actuate/web/server/UndertowServletManagementContextAutoConfiguration.java b/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/actuate/web/server/UndertowServletManagementContextAutoConfiguration.java index 7ebd6a450e6..832842ca036 100644 --- a/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/actuate/web/server/UndertowServletManagementContextAutoConfiguration.java +++ b/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/actuate/web/server/UndertowServletManagementContextAutoConfiguration.java @@ -40,7 +40,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ Undertow.class, ManagementContextFactory.class }) @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnManagementPort(ManagementPortType.DIFFERENT) -public class UndertowServletManagementContextAutoConfiguration { +public final class UndertowServletManagementContextAutoConfiguration { @Bean static ManagementContextFactory servletWebChildContextFactory() { diff --git a/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/reactive/UndertowReactiveWebServerAutoConfiguration.java b/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/reactive/UndertowReactiveWebServerAutoConfiguration.java index 2d78c8530fc..f399ac26919 100644 --- a/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/reactive/UndertowReactiveWebServerAutoConfiguration.java +++ b/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/reactive/UndertowReactiveWebServerAutoConfiguration.java @@ -48,7 +48,7 @@ import org.springframework.http.ReactiveHttpInputMessage; @ConditionalOnWebApplication(type = Type.REACTIVE) @EnableConfigurationProperties(UndertowServerProperties.class) @Import({ UndertowWebServerConfiguration.class, ReactiveWebServerConfiguration.class }) -public class UndertowReactiveWebServerAutoConfiguration { +public final class UndertowReactiveWebServerAutoConfiguration { @Bean @ConditionalOnMissingBean(ReactiveWebServerFactory.class) diff --git a/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/servlet/UndertowServletWebServerAutoConfiguration.java b/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/servlet/UndertowServletWebServerAutoConfiguration.java index bd449cffc50..4e66cf4b477 100644 --- a/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/servlet/UndertowServletWebServerAutoConfiguration.java +++ b/module/spring-boot-undertow/src/main/java/org/springframework/boot/undertow/autoconfigure/servlet/UndertowServletWebServerAutoConfiguration.java @@ -57,7 +57,7 @@ import org.springframework.core.task.VirtualThreadTaskExecutor; @ConditionalOnWebApplication(type = Type.SERVLET) @EnableConfigurationProperties(UndertowServerProperties.class) @Import({ UndertowWebServerConfiguration.class, ServletWebServerConfiguration.class }) -public class UndertowServletWebServerAutoConfiguration { +public final class UndertowServletWebServerAutoConfiguration { @Bean @ConditionalOnMissingBean(value = ServletWebServerFactory.class, search = SearchStrategy.CURRENT) diff --git a/module/spring-boot-validation/src/main/java/org/springframework/boot/validation/autoconfigure/ValidationAutoConfiguration.java b/module/spring-boot-validation/src/main/java/org/springframework/boot/validation/autoconfigure/ValidationAutoConfiguration.java index 2c1dbfbf870..4d079ff4e19 100644 --- a/module/spring-boot-validation/src/main/java/org/springframework/boot/validation/autoconfigure/ValidationAutoConfiguration.java +++ b/module/spring-boot-validation/src/main/java/org/springframework/boot/validation/autoconfigure/ValidationAutoConfiguration.java @@ -51,12 +51,12 @@ import org.springframework.validation.beanvalidation.MethodValidationPostProcess @ConditionalOnClass(ExecutableValidator.class) @ConditionalOnResource(resources = "classpath:META-INF/services/jakarta.validation.spi.ValidationProvider") @Import(PrimaryDefaultValidatorPostProcessor.class) -public class ValidationAutoConfiguration { +public final class ValidationAutoConfiguration { @Bean @Role(BeanDefinition.ROLE_INFRASTRUCTURE) @ConditionalOnMissingBean(Validator.class) - public static LocalValidatorFactoryBean defaultValidator(ApplicationContext applicationContext, + static LocalValidatorFactoryBean defaultValidator(ApplicationContext applicationContext, ObjectProvider customizers) { LocalValidatorFactoryBean factoryBean = new LocalValidatorFactoryBean(); factoryBean.setConfigurationInitializer((configuration) -> customizers.orderedStream() @@ -68,7 +68,7 @@ public class ValidationAutoConfiguration { @Bean @ConditionalOnMissingBean(search = SearchStrategy.CURRENT) - public static MethodValidationPostProcessor methodValidationPostProcessor(Environment environment, + static MethodValidationPostProcessor methodValidationPostProcessor(Environment environment, ObjectProvider validator, ObjectProvider excludeFilters) { FilteredMethodValidationPostProcessor processor = new FilteredMethodValidationPostProcessor( excludeFilters.orderedStream()); diff --git a/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/WebClientAutoConfiguration.java b/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/WebClientAutoConfiguration.java index cf902189bf1..6566727c28f 100644 --- a/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/WebClientAutoConfiguration.java +++ b/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/WebClientAutoConfiguration.java @@ -52,12 +52,12 @@ import org.springframework.web.reactive.function.client.WebClient; */ @AutoConfiguration(after = { ClientHttpConnectorAutoConfiguration.class, CodecsAutoConfiguration.class }) @ConditionalOnClass(WebClient.class) -public class WebClientAutoConfiguration { +public final class WebClientAutoConfiguration { @Bean @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @ConditionalOnMissingBean - public WebClient.Builder webClientBuilder(ObjectProvider customizerProvider) { + WebClient.Builder webClientBuilder(ObjectProvider customizerProvider) { WebClient.Builder builder = WebClient.builder(); customizerProvider.orderedStream().forEach((customizer) -> customizer.customize(builder)); return builder; @@ -67,7 +67,7 @@ public class WebClientAutoConfiguration { @Lazy @Order(0) @ConditionalOnBean(ClientHttpConnector.class) - public WebClientCustomizer webClientHttpConnectorCustomizer(ClientHttpConnector clientHttpConnector) { + WebClientCustomizer webClientHttpConnectorCustomizer(ClientHttpConnector clientHttpConnector) { return (builder) -> builder.clientConnector(clientHttpConnector); } @@ -86,7 +86,7 @@ public class WebClientAutoConfiguration { @Bean @ConditionalOnMissingBean @Order(0) - public WebClientCodecCustomizer exchangeStrategiesCustomizer(ObjectProvider codecCustomizers) { + WebClientCodecCustomizer exchangeStrategiesCustomizer(ObjectProvider codecCustomizers) { return new WebClientCodecCustomizer(codecCustomizers.orderedStream().toList()); } diff --git a/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/WebClientObservationAutoConfiguration.java b/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/WebClientObservationAutoConfiguration.java index 5f950ebd19a..41d9c4ba466 100644 --- a/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/WebClientObservationAutoConfiguration.java +++ b/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/WebClientObservationAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.web.reactive.function.client.WebClient; @ConditionalOnClass({ WebClient.class, ObservationWebClientCustomizer.class, ObservationRegistry.class, ObservationProperties.class }) @EnableConfigurationProperties(ObservationProperties.class) -public class WebClientObservationAutoConfiguration { +public final class WebClientObservationAutoConfiguration { @Bean ObservationWebClientCustomizer observationWebClientCustomizer(ObservationRegistry observationRegistry, diff --git a/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/service/ReactiveHttpServiceClientAutoConfiguration.java b/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/service/ReactiveHttpServiceClientAutoConfiguration.java index 10eb52c3559..54fc17309d9 100644 --- a/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/service/ReactiveHttpServiceClientAutoConfiguration.java +++ b/module/spring-boot-webclient/src/main/java/org/springframework/boot/webclient/autoconfigure/service/ReactiveHttpServiceClientAutoConfiguration.java @@ -49,7 +49,7 @@ import org.springframework.web.service.registry.ImportHttpServices; @ConditionalOnClass(WebClientAdapter.class) @ConditionalOnBean(HttpServiceProxyRegistry.class) @EnableConfigurationProperties(ReactiveHttpClientServiceProperties.class) -public class ReactiveHttpServiceClientAutoConfiguration implements BeanClassLoaderAware { +public final class ReactiveHttpServiceClientAutoConfiguration implements BeanClassLoaderAware { private ClassLoader beanClassLoader; diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/HttpHandlerAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/HttpHandlerAutoConfiguration.java index de350baf55f..18361fceb75 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/HttpHandlerAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/HttpHandlerAutoConfiguration.java @@ -50,19 +50,19 @@ import org.springframework.web.server.adapter.WebHttpHandlerBuilder; @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnMissingBean(HttpHandler.class) @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10) -public class HttpHandlerAutoConfiguration { +public final class HttpHandlerAutoConfiguration { @Configuration(proxyBeanMethods = false) - public static class AnnotationConfig { + static class AnnotationConfig { private final ApplicationContext applicationContext; - public AnnotationConfig(ApplicationContext applicationContext) { + AnnotationConfig(ApplicationContext applicationContext) { this.applicationContext = applicationContext; } @Bean - public HttpHandler httpHandler(ObjectProvider propsProvider, + HttpHandler httpHandler(ObjectProvider propsProvider, ObjectProvider handlerBuilderCustomizers) { WebHttpHandlerBuilder handlerBuilder = WebHttpHandlerBuilder.applicationContext(this.applicationContext); handlerBuilderCustomizers.orderedStream().forEach((customizer) -> customizer.customize(handlerBuilder)); diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/ReactiveMultipartAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/ReactiveMultipartAutoConfiguration.java index 650372d58f9..dd7756b19fe 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/ReactiveMultipartAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/ReactiveMultipartAutoConfiguration.java @@ -47,7 +47,7 @@ import org.springframework.web.reactive.config.WebFluxConfigurer; @ConditionalOnClass({ DefaultPartHttpMessageReader.class, WebFluxConfigurer.class }) @ConditionalOnWebApplication(type = Type.REACTIVE) @EnableConfigurationProperties(ReactiveMultipartProperties.class) -public class ReactiveMultipartAutoConfiguration { +public final class ReactiveMultipartAutoConfiguration { @Bean @Order(0) diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebFluxAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebFluxAutoConfiguration.java index daaffde8123..a51a9c3d788 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebFluxAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebFluxAutoConfiguration.java @@ -115,20 +115,20 @@ import org.springframework.web.server.session.WebSessionManager; @ConditionalOnMissingBean({ WebFluxConfigurationSupport.class }) @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10) @ImportRuntimeHints(WebResourcesRuntimeHints.class) -public class WebFluxAutoConfiguration { +public final class WebFluxAutoConfiguration { @Bean @ConditionalOnMissingBean(HiddenHttpMethodFilter.class) @ConditionalOnBooleanProperty("spring.webflux.hiddenmethod.filter.enabled") - public OrderedHiddenHttpMethodFilter hiddenHttpMethodFilter() { + OrderedHiddenHttpMethodFilter hiddenHttpMethodFilter() { return new OrderedHiddenHttpMethodFilter(); } @Configuration(proxyBeanMethods = false) - public static class WelcomePageConfiguration { + static class WelcomePageConfiguration { @Bean - public RouterFunctionMapping welcomePageRouterFunctionMapping(ApplicationContext applicationContext, + RouterFunctionMapping welcomePageRouterFunctionMapping(ApplicationContext applicationContext, WebFluxProperties webFluxProperties, WebProperties webProperties) { String[] staticLocations = webProperties.getResources().getStaticLocations(); WelcomePageRouterFunctionFactory factory = new WelcomePageRouterFunctionFactory( @@ -149,7 +149,7 @@ public class WebFluxAutoConfiguration { @EnableConfigurationProperties({ WebProperties.class, WebFluxProperties.class }) @Import({ EnableWebFluxConfiguration.class }) @Order(0) - public static class WebFluxConfig implements WebFluxConfigurer { + static class WebFluxConfig implements WebFluxConfigurer { private static final Log logger = LogFactory.getLog(WebFluxConfig.class); @@ -169,7 +169,7 @@ public class WebFluxAutoConfiguration { private final ObjectProvider viewResolvers; - public WebFluxConfig(Environment environment, WebProperties webProperties, WebFluxProperties webFluxProperties, + WebFluxConfig(Environment environment, WebProperties webProperties, WebFluxProperties webFluxProperties, ListableBeanFactory beanFactory, ObjectProvider resolvers, ObjectProvider codecCustomizers, ObjectProvider resourceHandlerRegistrationCustomizers, @@ -259,7 +259,7 @@ public class WebFluxAutoConfiguration { */ @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties({ WebProperties.class, ServerProperties.class }) - public static class EnableWebFluxConfiguration extends DelegatingWebFluxConfiguration { + static class EnableWebFluxConfiguration extends DelegatingWebFluxConfiguration { private final WebFluxProperties webFluxProperties; @@ -269,7 +269,7 @@ public class WebFluxAutoConfiguration { private final WebFluxRegistrations webFluxRegistrations; - public EnableWebFluxConfiguration(WebFluxProperties webFluxProperties, WebProperties webProperties, + EnableWebFluxConfiguration(WebFluxProperties webFluxProperties, WebProperties webProperties, ServerProperties serverProperties, ObjectProvider webFluxRegistrations) { this.webFluxProperties = webFluxProperties; this.webProperties = webProperties; @@ -336,7 +336,7 @@ public class WebFluxAutoConfiguration { @Bean @ConditionalOnMissingBean(name = WebHttpHandlerBuilder.WEB_SESSION_MANAGER_BEAN_NAME) - public WebSessionManager webSessionManager(ObjectProvider webSessionIdResolver) { + WebSessionManager webSessionManager(ObjectProvider webSessionIdResolver) { DefaultWebSessionManager webSessionManager = new DefaultWebSessionManager(); Duration timeout = this.serverProperties.getReactive().getSession().getTimeout(); int maxSessions = this.serverProperties.getReactive().getSession().getMaxSessions(); diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebFluxObservationAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebFluxObservationAutoConfiguration.java index eb85f34c85d..36cbe3f86ac 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebFluxObservationAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebFluxObservationAutoConfiguration.java @@ -54,7 +54,7 @@ import org.springframework.http.server.reactive.observation.ServerRequestObserva @ConditionalOnBean({ ObservationRegistry.class, MeterRegistry.class }) @ConditionalOnWebApplication(type = Type.REACTIVE) @EnableConfigurationProperties({ MetricsProperties.class, ObservationProperties.class }) -public class WebFluxObservationAutoConfiguration { +public final class WebFluxObservationAutoConfiguration { private final ObservationProperties observationProperties; diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebSessionIdResolverAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebSessionIdResolverAutoConfiguration.java index 4326c9fd579..b19428f1fa0 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebSessionIdResolverAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/WebSessionIdResolverAutoConfiguration.java @@ -47,18 +47,17 @@ import org.springframework.web.server.session.WebSessionManager; @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnClass({ WebSessionManager.class, Mono.class }) @EnableConfigurationProperties({ WebFluxProperties.class, ServerProperties.class }) -public class WebSessionIdResolverAutoConfiguration { +public final class WebSessionIdResolverAutoConfiguration { private final ServerProperties serverProperties; - public WebSessionIdResolverAutoConfiguration(ServerProperties serverProperties, - WebFluxProperties webFluxProperties) { + WebSessionIdResolverAutoConfiguration(ServerProperties serverProperties, WebFluxProperties webFluxProperties) { this.serverProperties = serverProperties; } @Bean @ConditionalOnMissingBean - public WebSessionIdResolver webSessionIdResolver() { + WebSessionIdResolver webSessionIdResolver() { CookieWebSessionIdResolver resolver = new CookieWebSessionIdResolver(); String cookieName = this.serverProperties.getReactive().getSession().getCookie().getName(); if (StringUtils.hasText(cookieName)) { diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfiguration.java index 6e3d185a547..89d12dd2405 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfiguration.java @@ -48,7 +48,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass({ HealthEndpoint.class, Health.class }) @ConditionalOnBean({ WebEndpointsSupplier.class, HealthEndpointGroups.class }) @ConditionalOnAvailableEndpoint(endpoint = HealthEndpoint.class, exposure = EndpointExposure.WEB) -public class WebFluxHealthEndpointExtensionAutoConfiguration { +public final class WebFluxHealthEndpointExtensionAutoConfiguration { @Bean AdditionalHealthEndpointPathsWebFluxHandlerMapping healthEndpointWebFluxHandlerMapping( diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxHttpExchangesAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxHttpExchangesAutoConfiguration.java index 27bebdf3316..20f9722a17f 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxHttpExchangesAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxHttpExchangesAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.context.annotation.Bean; @ConditionalOnBooleanProperty(name = "management.httpexchanges.recording.enabled", matchIfMissing = true) @ConditionalOnBean(HttpExchangeRepository.class) @EnableConfigurationProperties(HttpExchangesProperties.class) -public class WebFluxHttpExchangesAutoConfiguration { +public final class WebFluxHttpExchangesAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxMappingsAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxMappingsAutoConfiguration.java index beca2d6136c..0835117be50 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxMappingsAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/actuate/web/WebFluxMappingsAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.web.reactive.DispatcherHandler; @ConditionalOnAvailableEndpoint(MappingsEndpoint.class) @ConditionalOnBean(DispatcherHandler.class) @ConditionalOnWebApplication(type = Type.REACTIVE) -public class WebFluxMappingsAutoConfiguration { +public final class WebFluxMappingsAutoConfiguration { @Bean DispatcherHandlersMappingDescriptionProvider dispatcherHandlersMappingDescriptionProvider() { diff --git a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/error/ErrorWebFluxAutoConfiguration.java b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/error/ErrorWebFluxAutoConfiguration.java index 1798488e3e7..9fdfb2d8211 100644 --- a/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/error/ErrorWebFluxAutoConfiguration.java +++ b/module/spring-boot-webflux/src/main/java/org/springframework/boot/webflux/autoconfigure/error/ErrorWebFluxAutoConfiguration.java @@ -50,20 +50,20 @@ import org.springframework.web.reactive.result.view.ViewResolver; @ConditionalOnWebApplication(type = Type.REACTIVE) @ConditionalOnClass(WebFluxConfigurer.class) @EnableConfigurationProperties({ ServerProperties.class, WebProperties.class }) -public class ErrorWebFluxAutoConfiguration { +public final class ErrorWebFluxAutoConfiguration { private final ServerProperties serverProperties; - public ErrorWebFluxAutoConfiguration(ServerProperties serverProperties) { + ErrorWebFluxAutoConfiguration(ServerProperties serverProperties) { this.serverProperties = serverProperties; } @Bean @ConditionalOnMissingBean(search = SearchStrategy.CURRENT) @Order(-1) - public ErrorWebExceptionHandler errorWebExceptionHandler(ErrorAttributes errorAttributes, - WebProperties webProperties, ObjectProvider viewResolvers, - ServerCodecConfigurer serverCodecConfigurer, ApplicationContext applicationContext) { + ErrorWebExceptionHandler errorWebExceptionHandler(ErrorAttributes errorAttributes, WebProperties webProperties, + ObjectProvider viewResolvers, ServerCodecConfigurer serverCodecConfigurer, + ApplicationContext applicationContext) { DefaultErrorWebExceptionHandler exceptionHandler = new DefaultErrorWebExceptionHandler(errorAttributes, webProperties.getResources(), this.serverProperties.getError(), applicationContext); exceptionHandler.setViewResolvers(viewResolvers.orderedStream().toList()); @@ -74,7 +74,7 @@ public class ErrorWebFluxAutoConfiguration { @Bean @ConditionalOnMissingBean(value = ErrorAttributes.class, search = SearchStrategy.CURRENT) - public DefaultErrorAttributes errorAttributes() { + DefaultErrorAttributes errorAttributes() { return new DefaultErrorAttributes(); } diff --git a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/DispatcherServletAutoConfiguration.java b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/DispatcherServletAutoConfiguration.java index 1523b0f26e9..7470ab169b7 100644 --- a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/DispatcherServletAutoConfiguration.java +++ b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/DispatcherServletAutoConfiguration.java @@ -66,7 +66,7 @@ import org.springframework.web.servlet.DispatcherServlet; @AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass(DispatcherServlet.class) -public class DispatcherServletAutoConfiguration { +public final class DispatcherServletAutoConfiguration { /** * The bean name for a DispatcherServlet that will be mapped to the root URL "/". @@ -85,7 +85,7 @@ public class DispatcherServletAutoConfiguration { protected static class DispatcherServletConfiguration { @Bean(name = DEFAULT_DISPATCHER_SERVLET_BEAN_NAME) - public DispatcherServlet dispatcherServlet(WebMvcProperties webMvcProperties) { + DispatcherServlet dispatcherServlet(WebMvcProperties webMvcProperties) { DispatcherServlet dispatcherServlet = new DispatcherServlet(); dispatcherServlet.setDispatchOptionsRequest(webMvcProperties.isDispatchOptionsRequest()); dispatcherServlet.setDispatchTraceRequest(webMvcProperties.isDispatchTraceRequest()); @@ -97,7 +97,7 @@ public class DispatcherServletAutoConfiguration { @Bean @ConditionalOnBean(MultipartResolver.class) @ConditionalOnMissingBean(name = DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME) - public MultipartResolver multipartResolver(MultipartResolver resolver) { + MultipartResolver multipartResolver(MultipartResolver resolver) { // Detect if the user has created a MultipartResolver but named it incorrectly return resolver; } @@ -113,7 +113,7 @@ public class DispatcherServletAutoConfiguration { @Bean(name = DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME) @ConditionalOnBean(value = DispatcherServlet.class, name = DEFAULT_DISPATCHER_SERVLET_BEAN_NAME) - public DispatcherServletRegistrationBean dispatcherServletRegistration(DispatcherServlet dispatcherServlet, + DispatcherServletRegistrationBean dispatcherServletRegistration(DispatcherServlet dispatcherServlet, WebMvcProperties webMvcProperties, ObjectProvider multipartConfig) { DispatcherServletRegistrationBean registration = new DispatcherServletRegistrationBean(dispatcherServlet, webMvcProperties.getServlet().getPath()); diff --git a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcAutoConfiguration.java b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcAutoConfiguration.java index 6624e84fe35..25192968e4f 100644 --- a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcAutoConfiguration.java +++ b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcAutoConfiguration.java @@ -143,7 +143,7 @@ import org.springframework.web.util.UrlPathHelper; @ConditionalOnMissingBean(WebMvcConfigurationSupport.class) @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10) @ImportRuntimeHints(WebResourcesRuntimeHints.class) -public class WebMvcAutoConfiguration { +public final class WebMvcAutoConfiguration { /** * The default Spring MVC view prefix. @@ -160,14 +160,14 @@ public class WebMvcAutoConfiguration { @Bean @ConditionalOnMissingBean(HiddenHttpMethodFilter.class) @ConditionalOnBooleanProperty("spring.mvc.hiddenmethod.filter.enabled") - public OrderedHiddenHttpMethodFilter hiddenHttpMethodFilter() { + OrderedHiddenHttpMethodFilter hiddenHttpMethodFilter() { return new OrderedHiddenHttpMethodFilter(); } @Bean @ConditionalOnMissingBean(FormContentFilter.class) @ConditionalOnBooleanProperty(name = "spring.mvc.formcontent.filter.enabled", matchIfMissing = true) - public OrderedFormContentFilter formContentFilter() { + OrderedFormContentFilter formContentFilter() { return new OrderedFormContentFilter(); } @@ -177,7 +177,7 @@ public class WebMvcAutoConfiguration { @Import(EnableWebMvcConfiguration.class) @EnableConfigurationProperties({ WebMvcProperties.class, WebProperties.class }) @Order(0) - public static class WebMvcAutoConfigurationAdapter implements WebMvcConfigurer, ServletContextAware { + static class WebMvcAutoConfigurationAdapter implements WebMvcConfigurer, ServletContextAware { private static final Log logger = LogFactory.getLog(WebMvcConfigurer.class); @@ -197,7 +197,7 @@ public class WebMvcAutoConfiguration { private ServletContext servletContext; - public WebMvcAutoConfigurationAdapter(WebProperties webProperties, WebMvcProperties mvcProperties, + WebMvcAutoConfigurationAdapter(WebProperties webProperties, WebMvcProperties mvcProperties, ListableBeanFactory beanFactory, ObjectProvider messageConvertersProvider, ObjectProvider resourceHandlerRegistrationCustomizerProvider, ObjectProvider dispatcherServletPath, @@ -279,7 +279,7 @@ public class WebMvcAutoConfiguration { @Bean @ConditionalOnMissingBean - public InternalResourceViewResolver defaultViewResolver() { + InternalResourceViewResolver defaultViewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix(this.mvcProperties.getView().getPrefix()); resolver.setSuffix(this.mvcProperties.getView().getSuffix()); @@ -289,7 +289,7 @@ public class WebMvcAutoConfiguration { @Bean @ConditionalOnBean(View.class) @ConditionalOnMissingBean - public BeanNameViewResolver beanNameViewResolver() { + BeanNameViewResolver beanNameViewResolver() { BeanNameViewResolver resolver = new BeanNameViewResolver(); resolver.setOrder(Ordered.LOWEST_PRECEDENCE - 10); return resolver; @@ -298,7 +298,7 @@ public class WebMvcAutoConfiguration { @Bean @ConditionalOnBean(ViewResolver.class) @ConditionalOnMissingBean(name = "viewResolver", value = ContentNegotiatingViewResolver.class) - public ContentNegotiatingViewResolver viewResolver(BeanFactory beanFactory) { + ContentNegotiatingViewResolver viewResolver(BeanFactory beanFactory) { ContentNegotiatingViewResolver resolver = new ContentNegotiatingViewResolver(); resolver.setContentNegotiationManager(beanFactory.getBean(ContentNegotiationManager.class)); // ContentNegotiatingViewResolver uses all the other view resolvers to locate @@ -369,7 +369,7 @@ public class WebMvcAutoConfiguration { @Bean @ConditionalOnMissingBean({ RequestContextListener.class, RequestContextFilter.class }) @ConditionalOnMissingFilterBean - public static RequestContextFilter requestContextFilter() { + static RequestContextFilter requestContextFilter() { return new OrderedRequestContextFilter(); } @@ -380,7 +380,7 @@ public class WebMvcAutoConfiguration { */ @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties(WebProperties.class) - public static class EnableWebMvcConfiguration extends DelegatingWebMvcConfiguration implements ResourceLoaderAware { + static class EnableWebMvcConfiguration extends DelegatingWebMvcConfiguration implements ResourceLoaderAware { private final Resources resourceProperties; @@ -394,7 +394,7 @@ public class WebMvcAutoConfiguration { private ResourceLoader resourceLoader; - public EnableWebMvcConfiguration(WebMvcProperties mvcProperties, WebProperties webProperties, + EnableWebMvcConfiguration(WebMvcProperties mvcProperties, WebProperties webProperties, ObjectProvider mvcRegistrationsProvider, ObjectProvider resourceHandlerRegistrationCustomizerProvider, ListableBeanFactory beanFactory) { @@ -417,14 +417,14 @@ public class WebMvcAutoConfiguration { } @Bean - public WelcomePageHandlerMapping welcomePageHandlerMapping(ApplicationContext applicationContext, + WelcomePageHandlerMapping welcomePageHandlerMapping(ApplicationContext applicationContext, FormattingConversionService mvcConversionService, ResourceUrlProvider mvcResourceUrlProvider) { return createWelcomePageHandlerMapping(applicationContext, mvcConversionService, mvcResourceUrlProvider, WelcomePageHandlerMapping::new); } @Bean - public WelcomePageNotAcceptableHandlerMapping welcomePageNotAcceptableHandlerMapping( + WelcomePageNotAcceptableHandlerMapping welcomePageNotAcceptableHandlerMapping( ApplicationContext applicationContext, FormattingConversionService mvcConversionService, ResourceUrlProvider mvcResourceUrlProvider) { return createWelcomePageHandlerMapping(applicationContext, mvcConversionService, mvcResourceUrlProvider, diff --git a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcObservationAutoConfiguration.java b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcObservationAutoConfiguration.java index add7a9ad38d..284926a98ec 100644 --- a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcObservationAutoConfiguration.java +++ b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/WebMvcObservationAutoConfiguration.java @@ -62,11 +62,11 @@ import org.springframework.web.servlet.DispatcherServlet; @ConditionalOnClass({ DispatcherServlet.class, Observation.class }) @ConditionalOnBean(ObservationRegistry.class) @EnableConfigurationProperties({ MetricsProperties.class, ObservationProperties.class }) -public class WebMvcObservationAutoConfiguration { +public final class WebMvcObservationAutoConfiguration { @Bean @ConditionalOnMissingFilterBean - public FilterRegistrationBean webMvcObservationFilter(ObservationRegistry registry, + FilterRegistrationBean webMvcObservationFilter(ObservationRegistry registry, ObjectProvider customConvention, ObservationProperties observationProperties) { String name = observationProperties.getHttp().getServer().getRequests().getName(); diff --git a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointExtensionAutoConfiguration.java b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointExtensionAutoConfiguration.java index 414675e458e..abcccc118a3 100644 --- a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointExtensionAutoConfiguration.java +++ b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/endpoint/web/WebMvcHealthEndpointExtensionAutoConfiguration.java @@ -46,10 +46,10 @@ import org.springframework.context.annotation.Bean; @ConditionalOnClass(HealthEndpoint.class) @ConditionalOnBean({ HealthEndpoint.class, WebEndpointsSupplier.class, HealthEndpointGroups.class }) @ConditionalOnAvailableEndpoint(endpoint = HealthEndpoint.class, exposure = EndpointExposure.WEB) -public class WebMvcHealthEndpointExtensionAutoConfiguration { +public final class WebMvcHealthEndpointExtensionAutoConfiguration { @Bean - public AdditionalHealthEndpointPathsWebMvcHandlerMapping healthEndpointWebMvcHandlerMapping( + AdditionalHealthEndpointPathsWebMvcHandlerMapping healthEndpointWebMvcHandlerMapping( WebEndpointsSupplier webEndpointsSupplier, HealthEndpointGroups groups) { ExposableWebEndpoint health = getHealthEndpoint(webEndpointsSupplier); return new AdditionalHealthEndpointPathsWebMvcHandlerMapping(health, diff --git a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcMappingsAutoConfiguration.java b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcMappingsAutoConfiguration.java index 73746f08737..599d9d249b9 100644 --- a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcMappingsAutoConfiguration.java +++ b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/actuate/web/WebMvcMappingsAutoConfiguration.java @@ -42,7 +42,7 @@ import org.springframework.web.servlet.DispatcherServlet; @ConditionalOnAvailableEndpoint(MappingsEndpoint.class) @ConditionalOnBean(DispatcherServlet.class) @ConditionalOnWebApplication(type = Type.SERVLET) -public class WebMvcMappingsAutoConfiguration { +public final class WebMvcMappingsAutoConfiguration { @Bean DispatcherServletsMappingDescriptionProvider dispatcherServletMappingDescriptionProvider() { diff --git a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/error/ErrorMvcAutoConfiguration.java b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/error/ErrorMvcAutoConfiguration.java index e2d2152cb44..888d179bd60 100644 --- a/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/error/ErrorMvcAutoConfiguration.java +++ b/module/spring-boot-webmvc/src/main/java/org/springframework/boot/webmvc/autoconfigure/error/ErrorMvcAutoConfiguration.java @@ -86,35 +86,35 @@ import org.springframework.web.util.HtmlUtils; @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass({ Servlet.class, DispatcherServlet.class, ServerProperties.class }) @EnableConfigurationProperties({ ServerProperties.class, WebMvcProperties.class }) -public class ErrorMvcAutoConfiguration { +public final class ErrorMvcAutoConfiguration { private final ServerProperties serverProperties; - public ErrorMvcAutoConfiguration(ServerProperties serverProperties) { + ErrorMvcAutoConfiguration(ServerProperties serverProperties) { this.serverProperties = serverProperties; } @Bean @ConditionalOnMissingBean(value = ErrorAttributes.class, search = SearchStrategy.CURRENT) - public DefaultErrorAttributes errorAttributes() { + DefaultErrorAttributes errorAttributes() { return new DefaultErrorAttributes(); } @Bean @ConditionalOnMissingBean(value = ErrorController.class, search = SearchStrategy.CURRENT) - public BasicErrorController basicErrorController(ErrorAttributes errorAttributes, + BasicErrorController basicErrorController(ErrorAttributes errorAttributes, ObjectProvider errorViewResolvers) { return new BasicErrorController(errorAttributes, this.serverProperties.getError(), errorViewResolvers.orderedStream().toList()); } @Bean - public ErrorPageCustomizer errorPageCustomizer(DispatcherServletPath dispatcherServletPath) { + ErrorPageCustomizer errorPageCustomizer(DispatcherServletPath dispatcherServletPath) { return new ErrorPageCustomizer(this.serverProperties, dispatcherServletPath); } @Bean - public static PreserveErrorControllerTargetClassPostProcessor preserveErrorControllerTargetClassPostProcessor() { + static PreserveErrorControllerTargetClassPostProcessor preserveErrorControllerTargetClassPostProcessor() { return new PreserveErrorControllerTargetClassPostProcessor(); } @@ -149,7 +149,7 @@ public class ErrorMvcAutoConfiguration { @Bean(name = "error") @ConditionalOnMissingBean(name = "error") - public View defaultErrorView() { + View defaultErrorView() { return this.defaultErrorView; } @@ -157,7 +157,7 @@ public class ErrorMvcAutoConfiguration { // WebMvcAutoConfiguration disappears, so add it back in to avoid disappointment. @Bean @ConditionalOnMissingBean - public BeanNameViewResolver beanNameViewResolver() { + BeanNameViewResolver beanNameViewResolver() { BeanNameViewResolver resolver = new BeanNameViewResolver(); resolver.setOrder(Ordered.LOWEST_PRECEDENCE - 10); return resolver; diff --git a/module/spring-boot-webservices/src/main/java/org/springframework/boot/webservices/autoconfigure/WebServicesAutoConfiguration.java b/module/spring-boot-webservices/src/main/java/org/springframework/boot/webservices/autoconfigure/WebServicesAutoConfiguration.java index 477bf23a7ef..e1694d926f5 100644 --- a/module/spring-boot-webservices/src/main/java/org/springframework/boot/webservices/autoconfigure/WebServicesAutoConfiguration.java +++ b/module/spring-boot-webservices/src/main/java/org/springframework/boot/webservices/autoconfigure/WebServicesAutoConfiguration.java @@ -63,11 +63,11 @@ import org.springframework.xml.xsd.SimpleXsdSchema; @ConditionalOnClass(MessageDispatcherServlet.class) @ConditionalOnMissingBean(WsConfigurationSupport.class) @EnableConfigurationProperties(WebServicesProperties.class) -public class WebServicesAutoConfiguration { +public final class WebServicesAutoConfiguration { @Bean - public ServletRegistrationBean messageDispatcherServlet( - ApplicationContext applicationContext, WebServicesProperties properties) { + ServletRegistrationBean messageDispatcherServlet(ApplicationContext applicationContext, + WebServicesProperties properties) { MessageDispatcherServlet servlet = new MessageDispatcherServlet(); servlet.setApplicationContext(applicationContext); String path = properties.getPath(); @@ -83,7 +83,7 @@ public class WebServicesAutoConfiguration { @Bean @Role(BeanDefinition.ROLE_INFRASTRUCTURE) @Conditional(OnWsdlLocationsCondition.class) - public static WsdlDefinitionBeanFactoryPostProcessor wsdlDefinitionBeanFactoryPostProcessor() { + static WsdlDefinitionBeanFactoryPostProcessor wsdlDefinitionBeanFactoryPostProcessor() { return new WsdlDefinitionBeanFactoryPostProcessor(); } diff --git a/module/spring-boot-webservices/src/main/java/org/springframework/boot/webservices/autoconfigure/client/WebServiceTemplateAutoConfiguration.java b/module/spring-boot-webservices/src/main/java/org/springframework/boot/webservices/autoconfigure/client/WebServiceTemplateAutoConfiguration.java index c02b837a641..49535425aff 100644 --- a/module/spring-boot-webservices/src/main/java/org/springframework/boot/webservices/autoconfigure/client/WebServiceTemplateAutoConfiguration.java +++ b/module/spring-boot-webservices/src/main/java/org/springframework/boot/webservices/autoconfigure/client/WebServiceTemplateAutoConfiguration.java @@ -41,11 +41,11 @@ import org.springframework.ws.client.core.WebServiceTemplate; */ @AutoConfiguration @ConditionalOnClass({ WebServiceTemplate.class, Unmarshaller.class, Marshaller.class }) -public class WebServiceTemplateAutoConfiguration { +public final class WebServiceTemplateAutoConfiguration { @Bean @ConditionalOnMissingBean - public WebServiceMessageSenderFactory webServiceHttpMessageSenderFactory( + WebServiceMessageSenderFactory webServiceHttpMessageSenderFactory( ObjectProvider> clientHttpRequestFactoryBuilder, ObjectProvider clientHttpRequestFactorySettings) { return WebServiceMessageSenderFactory.http( @@ -55,7 +55,7 @@ public class WebServiceTemplateAutoConfiguration { @Bean @ConditionalOnMissingBean - public WebServiceTemplateBuilder webServiceTemplateBuilder( + WebServiceTemplateBuilder webServiceTemplateBuilder( ObjectProvider httpWebServiceMessageSenderBuilder, ObjectProvider webServiceTemplateCustomizers) { WebServiceTemplateBuilder templateBuilder = new WebServiceTemplateBuilder(); diff --git a/module/spring-boot-websocket/src/main/java/org/springframework/boot/websocket/autoconfigure/servlet/WebSocketMessagingAutoConfiguration.java b/module/spring-boot-websocket/src/main/java/org/springframework/boot/websocket/autoconfigure/servlet/WebSocketMessagingAutoConfiguration.java index fdade17c263..973058ab15e 100644 --- a/module/spring-boot-websocket/src/main/java/org/springframework/boot/websocket/autoconfigure/servlet/WebSocketMessagingAutoConfiguration.java +++ b/module/spring-boot-websocket/src/main/java/org/springframework/boot/websocket/autoconfigure/servlet/WebSocketMessagingAutoConfiguration.java @@ -54,7 +54,7 @@ import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerCo @AutoConfiguration(afterName = "org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration") @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass(WebSocketMessageBrokerConfigurer.class) -public class WebSocketMessagingAutoConfiguration { +public final class WebSocketMessagingAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnBean({ DelegatingWebSocketMessageBrokerConfiguration.class, ObjectMapper.class }) diff --git a/module/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfiguration.java b/module/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfiguration.java index a0fecce670b..f9f0d7b3675 100644 --- a/module/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfiguration.java +++ b/module/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfiguration.java @@ -44,7 +44,7 @@ import org.springframework.context.annotation.Bean; @AutoConfiguration @ConditionalOnClass(Encoding.class) @EnableConfigurationProperties(ZipkinProperties.class) -public class ZipkinAutoConfiguration { +public final class ZipkinAutoConfiguration { @Bean @ConditionalOnMissingBean(ZipkinConnectionDetails.class) diff --git a/system-test/spring-boot-deployment-system-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java b/system-test/spring-boot-deployment-system-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java index 5d49df73913..f489dc793ed 100644 --- a/system-test/spring-boot-deployment-system-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java +++ b/system-test/spring-boot-deployment-system-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java @@ -24,10 +24,10 @@ import org.springframework.context.annotation.Bean; @ConditionalOnWarDeployment @AutoConfiguration -public class ExampleAutoConfiguration { +public final class ExampleAutoConfiguration { @Bean - public TestEndpoint testEndpoint() { + TestEndpoint testEndpoint() { return new TestEndpoint(); }