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 e1118ec3d634..2529344993e5 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 @@ -98,6 +98,7 @@ static List standard() { rules.add(methodLevelConfigurationPropertiesShouldNotSpecifyOnlyPrefixAttribute()); rules.add(conditionsShouldNotBePublic()); rules.add(allConfigurationPropertiesBindingBeanMethodsShouldBeStatic()); + rules.add(allConfigurationMethodsShouldNotBePublicIfReturnTypeOrParameterTypeIsNotPublic()); return List.copyOf(rules); } @@ -319,6 +320,30 @@ private static ArchRule allConfigurationPropertiesBindingBeanMethodsShouldBeStat .allowEmptyShould(true); } + private static ArchRule allConfigurationMethodsShouldNotBePublicIfReturnTypeOrParameterTypeIsNotPublic() { + return methodsThatAreAnnotatedWith("org.springframework.context.annotation.Bean") + .should(check("not be public if return type is not public or any of parameter types is not public", + ArchitectureRules::configurationMethodsShouldNotBePublicIfReturnTypeOrParameterTypeIsNotPublic)) + .allowEmptyShould(true); + } + + private static void configurationMethodsShouldNotBePublicIfReturnTypeOrParameterTypeIsNotPublic(JavaMethod item, + ConditionEvents events) { + if (!item.getModifiers().contains(JavaModifier.PUBLIC)) { + return; + } + boolean violated = !item.getReturnType().toErasure().getModifiers().contains(JavaModifier.PUBLIC); + if (!violated) { + violated = item.getParameterTypes() + .stream() + .anyMatch((parameterType) -> !parameterType.toErasure().getModifiers().contains(JavaModifier.PUBLIC)); + } + if (violated) { + addViolation(events, item, item.getDescription() + + " should not be public if return type is not public or any of parameter types is not public"); + } + } + private static boolean containsOnlySingleType(JavaType[] types, JavaType type) { return types.length == 1 && type.equals(types[0]); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java index 82b6d29a610a..39ebaad37e67 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,7 +59,7 @@ public ReadinessStateHealthIndicator readinessStateHealthIndicator( } @Bean - public AvailabilityProbesHealthEndpointGroupsPostProcessor availabilityProbesHealthEndpointGroupsPostProcessor( + AvailabilityProbesHealthEndpointGroupsPostProcessor availabilityProbesHealthEndpointGroupsPostProcessor( Environment environment) { return new AvailabilityProbesHealthEndpointGroupsPostProcessor(environment); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfiguration.java index 4b0dde25caf9..952ee7f2a7c7 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfiguration.java @@ -107,7 +107,7 @@ public CloudFoundryInfoEndpointWebExtension cloudFoundryInfoEndpointWebExtension @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/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java index 4a6bc50c6ef0..07350b912cc2 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java @@ -111,7 +111,7 @@ public CloudFoundryInfoEndpointWebExtension cloudFoundryInfoEndpointWebExtension @Bean @SuppressWarnings("removal") - public CloudFoundryWebEndpointServletHandlerMapping cloudFoundryWebEndpointServletHandlerMapping( + CloudFoundryWebEndpointServletHandlerMapping cloudFoundryWebEndpointServletHandlerMapping( ParameterValueMapper parameterMapper, EndpointMediaTypes endpointMediaTypes, RestTemplateBuilder restTemplateBuilder, org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier, diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java index da4342959ca6..4737e627a292 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java @@ -92,7 +92,7 @@ public JmxEndpointDiscoverer jmxAnnotationEndpointDiscoverer(ParameterValueMappe @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); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfiguration.java index dfb7e73a5f61..6e57f115487d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -56,7 +56,7 @@ public Clock micrometerClock() { } @Bean - public static MeterRegistryPostProcessor meterRegistryPostProcessor(ApplicationContext applicationContext, + static MeterRegistryPostProcessor meterRegistryPostProcessor(ApplicationContext applicationContext, ObjectProvider metricsProperties, ObjectProvider> meterRegistryCustomizers, ObjectProvider meterFilters, ObjectProvider meterBinders) { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java index 59f205aa6868..0da3f58f0e69 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -44,7 +44,7 @@ public class RabbitMetricsAutoConfiguration { @Bean - public static RabbitConnectionFactoryMetricsPostProcessor rabbitConnectionFactoryMetricsPostProcessor( + static RabbitConnectionFactoryMetricsPostProcessor rabbitConnectionFactoryMetricsPostProcessor( ApplicationContext applicationContext) { return new RabbitConnectionFactoryMetricsPostProcessor(applicationContext); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java index 884cade3e57d..27639252114e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java @@ -72,7 +72,7 @@ public MetricsRepositoryMethodInvocationListener metricsRepositoryMethodInvocati } @Bean - public static MetricsRepositoryMethodInvocationListenerBeanPostProcessor metricsRepositoryMethodInvocationListenerBeanPostProcessor( + static MetricsRepositoryMethodInvocationListenerBeanPostProcessor metricsRepositoryMethodInvocationListenerBeanPostProcessor( ObjectProvider metricsRepositoryMethodInvocationListener) { return new MetricsRepositoryMethodInvocationListenerBeanPostProcessor( SingletonSupplier.of(metricsRepositoryMethodInvocationListener::getObject)); diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/AbstractWebEndpointIntegrationTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/AbstractWebEndpointIntegrationTests.java index dbdf5569ca4d..d0fdf5193497 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/AbstractWebEndpointIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/AbstractWebEndpointIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -725,7 +725,7 @@ private void load(Consumer contextCustomizer, String endpointPath, protected static class TestEndpointConfiguration { @Bean - public TestEndpoint testEndpoint(EndpointDelegate endpointDelegate) { + TestEndpoint testEndpoint(EndpointDelegate endpointDelegate) { return new TestEndpoint(endpointDelegate); } @@ -846,7 +846,7 @@ NullDeleteResponseEndpoint nullDeleteResponseEndpoint() { protected static class ResourceEndpointConfiguration { @Bean - public ResourceEndpoint resourceEndpoint() { + ResourceEndpoint resourceEndpoint() { return new ResourceEndpoint(); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java index 49d331a58f61..5cc15410fc1e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java @@ -69,7 +69,7 @@ public CacheManagerCustomizers cacheManagerCustomizers(ObjectProvider cacheManager) { return new CacheManagerValidator(cacheProperties, cacheManager); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java index 12cd5040023e..379dad53b515 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfiguration.java @@ -56,7 +56,7 @@ public class RepositoryRestMvcAutoConfiguration { @Bean - public SpringBootRepositoryRestConfigurer springBootRepositoryRestConfigurer( + SpringBootRepositoryRestConfigurer springBootRepositoryRestConfigurer( ObjectProvider objectMapperBuilder, RepositoryRestProperties properties) { return new SpringBootRepositoryRestConfigurer(objectMapperBuilder.getIfAvailable(), properties); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java index a4066afe5edd..490bb6c9634e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java @@ -113,12 +113,12 @@ public 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); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/rsocket/GraphQlRSocketAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/rsocket/GraphQlRSocketAutoConfiguration.java index b6345a448432..05ca1a056d9a 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/rsocket/GraphQlRSocketAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/rsocket/GraphQlRSocketAutoConfiguration.java @@ -62,7 +62,7 @@ public GraphQlRSocketHandler graphQlRSocketHandler(ExecutionGraphQlService graph @Bean @ConditionalOnMissingBean - public GraphQlRSocketController graphQlRSocketController(GraphQlRSocketHandler handler) { + GraphQlRSocketController graphQlRSocketController(GraphQlRSocketHandler handler) { return new GraphQlRSocketController(handler); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/gson/GsonAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/gson/GsonAutoConfiguration.java index 906f95a545ce..dee6d0003b6e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/gson/GsonAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/gson/GsonAutoConfiguration.java @@ -60,7 +60,7 @@ public Gson gson(GsonBuilder gsonBuilder) { } @Bean - public StandardGsonBuilderCustomizer standardGsonBuilderCustomizer(GsonProperties gsonProperties) { + StandardGsonBuilderCustomizer standardGsonBuilderCustomizer(GsonProperties gsonProperties) { return new StandardGsonBuilderCustomizer(gsonProperties); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java index 4367e65e2386..bde4dd9524fb 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java @@ -82,8 +82,7 @@ public class LiquibaseAutoConfiguration { @Bean - public LiquibaseSchemaManagementProvider liquibaseDefaultDdlModeProvider( - ObjectProvider liquibases) { + LiquibaseSchemaManagementProvider liquibaseDefaultDdlModeProvider(ObjectProvider liquibases) { return new LiquibaseSchemaManagementProvider(liquibases); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.java index 77895ad442f6..9309a076f00c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.java @@ -64,7 +64,7 @@ public CharacterEncodingFilter characterEncodingFilter() { } @Bean - public LocaleCharsetMappingsCustomizer localeCharsetMappingsCustomizer() { + LocaleCharsetMappingsCustomizer localeCharsetMappingsCustomizer() { return new LocaleCharsetMappingsCustomizer(this.properties); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java index 89291825ed8f..543be44621bd 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java @@ -202,7 +202,7 @@ public static class WebMvcAutoConfigurationAdapter implements WebMvcConfigurer, private ServletContext servletContext; - public WebMvcAutoConfigurationAdapter(WebProperties webProperties, WebMvcProperties mvcProperties, + WebMvcAutoConfigurationAdapter(WebProperties webProperties, WebMvcProperties mvcProperties, ListableBeanFactory beanFactory, ObjectProvider messageConvertersProvider, ObjectProvider resourceHandlerRegistrationCustomizerProvider, ObjectProvider dispatcherServletPath, @@ -383,7 +383,7 @@ public static RequestContextFilter requestContextFilter() { */ @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; @@ -397,7 +397,7 @@ public static class EnableWebMvcConfiguration extends DelegatingWebMvcConfigurat private ResourceLoader resourceLoader; - public EnableWebMvcConfiguration(WebMvcProperties mvcProperties, WebProperties webProperties, + EnableWebMvcConfiguration(WebMvcProperties mvcProperties, WebProperties webProperties, ObjectProvider mvcRegistrationsProvider, ObjectProvider resourceHandlerRegistrationCustomizerProvider, ListableBeanFactory beanFactory) { @@ -420,14 +420,14 @@ protected RequestMappingHandlerAdapter createRequestMappingHandlerAdapter() { } @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/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java index 9252c7fa40d2..22a3c59b0687 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java @@ -110,12 +110,12 @@ public BasicErrorController basicErrorController(ErrorAttributes errorAttributes } @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(); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java index bed9af37dacb..b1e4f40f74fb 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -84,7 +84,7 @@ public ServletRegistrationBean messageDispatcherServle @Bean @Role(BeanDefinition.ROLE_INFRASTRUCTURE) @Conditional(OnWsdlLocationsCondition.class) - public static WsdlDefinitionBeanFactoryPostProcessor wsdlDefinitionBeanFactoryPostProcessor() { + static WsdlDefinitionBeanFactoryPostProcessor wsdlDefinitionBeanFactoryPostProcessor() { return new WsdlDefinitionBeanFactoryPostProcessor(); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/scan/ScannedFactoryBeanWithBeanMethodArgumentsConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/scan/ScannedFactoryBeanWithBeanMethodArgumentsConfiguration.java index 7abecce5c24d..2f12309b1322 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/scan/ScannedFactoryBeanWithBeanMethodArgumentsConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/scan/ScannedFactoryBeanWithBeanMethodArgumentsConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,12 +29,12 @@ public class ScannedFactoryBeanWithBeanMethodArgumentsConfiguration { @Bean - public Foo foo() { + Foo foo() { return new Foo(); } @Bean - public ScanFactoryBean exampleBeanFactoryBean(Foo foo) { + ScanFactoryBean exampleBeanFactoryBean(Foo foo) { return new ScanFactoryBean("foo"); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfigurationCustomApplicationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfigurationCustomApplicationTests.java index 387c70281f94..452e56924f51 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfigurationCustomApplicationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfigurationCustomApplicationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -77,15 +77,15 @@ public String message() { static class TestConfiguration { @Configuration(proxyBeanMethods = false) - public class JerseyConfiguration { + static class JerseyConfiguration { @Bean - public TestApplication testApplication() { + TestApplication testApplication() { return new TestApplication(); } @Bean - public ResourceConfig conf(TestApplication app) { + ResourceConfig conf(TestApplication app) { ResourceConfig config = ResourceConfig.forApplication(app); config.register(TestController.class); return config; diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ssl/SslAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ssl/SslAutoConfigurationTests.java index c810f298abb9..9f9b79521a3f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ssl/SslAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ssl/SslAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -142,7 +142,7 @@ void sslBundleWithoutClassPathPrefix() { public static class CustomSslBundleConfiguration { @Bean - public SslBundleRegistrar customSslBundlesRegistrar(CustomSslProperties properties) { + SslBundleRegistrar customSslBundlesRegistrar(CustomSslProperties properties) { return new CustomSslBundlesRegistrar(properties); } diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/metrics/registeringcustom/MyMeterBinderConfiguration.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/metrics/registeringcustom/MyMeterBinderConfiguration.java index 37d191005d8e..231cbc5c09ab 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/metrics/registeringcustom/MyMeterBinderConfiguration.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/metrics/registeringcustom/MyMeterBinderConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,7 @@ public class MyMeterBinderConfiguration { @Bean - public MeterBinder queueSize(Queue queue) { + MeterBinder queueSize(Queue queue) { return (registry) -> Gauge.builder("queueSize", queue::size).register(registry); } diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.java index 0232a5c0ed23..8aad6438230a 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/developingautoconfiguration/conditionannotations/classconditions/MyAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,7 +34,7 @@ public static class SomeServiceConfiguration { @Bean @ConditionalOnMissingBean - public SomeService someService() { + SomeService someService() { return new SomeService(); } diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/externalconfig/typesafeconfigurationproperties/thirdpartyconfiguration/ThirdPartyConfiguration.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/externalconfig/typesafeconfigurationproperties/thirdpartyconfiguration/ThirdPartyConfiguration.java index 33b5dad07057..4645f3cb875d 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/externalconfig/typesafeconfigurationproperties/thirdpartyconfiguration/ThirdPartyConfiguration.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/externalconfig/typesafeconfigurationproperties/thirdpartyconfiguration/ThirdPartyConfiguration.java @@ -25,7 +25,7 @@ public class ThirdPartyConfiguration { @Bean @ConfigurationProperties("another") - public AnotherComponent anotherComponent() { + AnotherComponent anotherComponent() { return new AnotherComponent(); } diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/web/servlet/springmvc/errorhandling/errorpageswithoutspringmvc/MyFilterConfiguration.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/web/servlet/springmvc/errorhandling/errorpageswithoutspringmvc/MyFilterConfiguration.java index aebc332bfa88..ce9f177b4f72 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/web/servlet/springmvc/errorhandling/errorpageswithoutspringmvc/MyFilterConfiguration.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/web/servlet/springmvc/errorhandling/errorpageswithoutspringmvc/MyFilterConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,7 +28,7 @@ public class MyFilterConfiguration { @Bean - public FilterRegistrationBean myFilter() { + FilterRegistrationBean myFilter() { FilterRegistrationBean registration = new FilterRegistrationBean<>(new MyFilter()); // ... registration.setDispatcherTypes(EnumSet.allOf(DispatcherType.class)); diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/json/JsonTestersAutoConfiguration.java b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/json/JsonTestersAutoConfiguration.java index 818ff6cf1aa8..a0445ba72f35 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/json/JsonTestersAutoConfiguration.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/json/JsonTestersAutoConfiguration.java @@ -69,7 +69,7 @@ public class JsonTestersAutoConfiguration { @Bean - public static JsonMarshalTestersBeanPostProcessor jsonMarshalTestersBeanPostProcessor() { + static JsonMarshalTestersBeanPostProcessor jsonMarshalTestersBeanPostProcessor() { return new JsonMarshalTestersBeanPostProcessor(); } diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/MockWebServiceServerAutoConfiguration.java b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/MockWebServiceServerAutoConfiguration.java index 940e77b994f8..2c7f3835ff10 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/MockWebServiceServerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/webservices/client/MockWebServiceServerAutoConfiguration.java @@ -37,12 +37,12 @@ public 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/spring-boot-system-tests/spring-boot-deployment-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java b/spring-boot-system-tests/spring-boot-deployment-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java index ab6e9de1fc7e..64d02518fbdb 100644 --- a/spring-boot-system-tests/spring-boot-deployment-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java +++ b/spring-boot-system-tests/spring-boot-deployment-tests/src/main/java/sample/autoconfig/ExampleAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ public class ExampleAutoConfiguration { @Bean - public TestEndpoint testEndpoint() { + TestEndpoint testEndpoint() { return new TestEndpoint(); } diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator-extension/src/main/java/smoketest/actuator/extension/MyExtensionConfiguration.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator-extension/src/main/java/smoketest/actuator/extension/MyExtensionConfiguration.java index 196a71027c0e..de17041a66a6 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator-extension/src/main/java/smoketest/actuator/extension/MyExtensionConfiguration.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator-extension/src/main/java/smoketest/actuator/extension/MyExtensionConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,10 +40,10 @@ public class MyExtensionConfiguration { @Bean - public MyExtensionWebMvcEndpointHandlerMapping myWebMvcEndpointHandlerMapping( - WebEndpointsSupplier webEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, - ObjectProvider corsPropertiesProvider, WebEndpointProperties webEndpointProperties, - Environment environment, ApplicationContext applicationContext, ParameterValueMapper parameterMapper) { + MyExtensionWebMvcEndpointHandlerMapping myWebMvcEndpointHandlerMapping(WebEndpointsSupplier webEndpointsSupplier, + EndpointMediaTypes endpointMediaTypes, ObjectProvider corsPropertiesProvider, + WebEndpointProperties webEndpointProperties, Environment environment, ApplicationContext applicationContext, + ParameterValueMapper parameterMapper) { CorsEndpointProperties corsProperties = corsPropertiesProvider.getIfAvailable(); CorsConfiguration corsConfiguration = (corsProperties != null) ? corsProperties.toCorsConfiguration() : null; List invokerAdvisors = Collections.emptyList();