From 61f65ea10e508ea0bcccf123670dcfb3c8c7322c Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 27 Dec 2016 12:24:32 -0800 Subject: [PATCH 1/6] Add test for devtools + serving from `/public` Add a simple test to show that basic serving of `/public` resources works with devtoos. See gh-7752 --- .../src/main/resources/public/public.txt | 1 + ...leDevToolsApplicationIntegrationTests.java | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 spring-boot-samples/spring-boot-sample-devtools/src/main/resources/public/public.txt diff --git a/spring-boot-samples/spring-boot-sample-devtools/src/main/resources/public/public.txt b/spring-boot-samples/spring-boot-sample-devtools/src/main/resources/public/public.txt new file mode 100644 index 00000000000..e258b6c5c83 --- /dev/null +++ b/spring-boot-samples/spring-boot-sample-devtools/src/main/resources/public/public.txt @@ -0,0 +1 @@ +public file diff --git a/spring-boot-samples/spring-boot-sample-devtools/src/test/java/sample/devtools/SampleDevToolsApplicationIntegrationTests.java b/spring-boot-samples/spring-boot-sample-devtools/src/test/java/sample/devtools/SampleDevToolsApplicationIntegrationTests.java index 41091ebf97d..978353e4e5d 100644 --- a/spring-boot-samples/spring-boot-sample-devtools/src/test/java/sample/devtools/SampleDevToolsApplicationIntegrationTests.java +++ b/spring-boot-samples/spring-boot-sample-devtools/src/test/java/sample/devtools/SampleDevToolsApplicationIntegrationTests.java @@ -16,11 +16,48 @@ package sample.devtools; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.assertj.core.api.Assertions.assertThat; + /** * Integration tests for {@link SampleDevToolsApplication}. * * @author Andy Wilkinson + * @author Phillip Webb */ +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +@DirtiesContext public class SampleDevToolsApplicationIntegrationTests { + @Autowired + private TestRestTemplate restTemplate; + + @Test + public void testStaticResource() throws Exception { + ResponseEntity entity = this.restTemplate + .getForEntity("/css/application.css", String.class); + assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(entity.getBody()).contains("color: green;"); + } + + @Test + public void testPublicResource() throws Exception { + ResponseEntity entity = this.restTemplate.getForEntity("/public.txt", + String.class); + assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(entity.getBody()).contains("public file"); + } + } From b31cd64524b0e07680a3dacef48e183139a00870 Mon Sep 17 00:00:00 2001 From: arthur-noseda Date: Tue, 27 Dec 2016 21:16:27 +0100 Subject: [PATCH 2/6] Fix typo in "you IDE" Change "you IDE" to "your IDE". Closes gh-7769 --- spring-boot-docs/src/main/asciidoc/using-spring-boot.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-docs/src/main/asciidoc/using-spring-boot.adoc b/spring-boot-docs/src/main/asciidoc/using-spring-boot.adoc index 5b2905ab731..16d26399390 100644 --- a/spring-boot-docs/src/main/asciidoc/using-spring-boot.adoc +++ b/spring-boot-docs/src/main/asciidoc/using-spring-boot.adoc @@ -1025,7 +1025,7 @@ is set. The client component must be launched manually. ==== Running the remote client application -The remote client application is designed to be run from within you IDE. You need to run +The remote client application is designed to be run from within your IDE. You need to run `org.springframework.boot.devtools.RemoteSpringApplication` using the same classpath as the remote project that you're connecting to. The _non-option_ argument passed to the application should be the remote URL that you are connecting to. From ab2290eecd602ab8af4015ad07046982ef805d56 Mon Sep 17 00:00:00 2001 From: Mesut Can Gurle Date: Fri, 23 Dec 2016 13:19:14 +0300 Subject: [PATCH 3/6] Improve Cassandra sample README documentation Update the README file in `spring-boot-sample-data-cassandra` with details of how to setup the keyspace and create the tables. Closes gh-7737 --- .../spring-boot-sample-data-cassandra/README.adoc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/spring-boot-samples/spring-boot-sample-data-cassandra/README.adoc b/spring-boot-samples/spring-boot-sample-data-cassandra/README.adoc index 2cee98998c9..6712ec1a854 100644 --- a/spring-boot-samples/spring-boot-sample-data-cassandra/README.adoc +++ b/spring-boot-samples/spring-boot-sample-data-cassandra/README.adoc @@ -1,4 +1,12 @@ += Spring Boot Sample Data Cassandra +To run the project, need to run below `cql` commands on Cassandra. -CREATE KEYSPACE mykeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; +== Keyspace Creation in Cassandra +[source,indent=0] +---- + CREATE KEYSPACE mykeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; +---- +== Table Creation in Cassandra +Run `cql` using the link:src/test/resources/setup.cql[setup script] located in resources folder. From 3a709511c4a8aaf434dc8a2061b183883cc37dea Mon Sep 17 00:00:00 2001 From: Arlo O'Keeffe Date: Fri, 23 Dec 2016 14:20:13 +0100 Subject: [PATCH 4/6] Notify BuildContext of changed build-info file Update Maven plugin to inform the BuildContext when changes are made to the `build-info` file. Prior to this commit Eclipse could continually trigger refreshes whenever "Refresh using native hooks or polling" was enabled and the file was written to `src/main/resources`. Closes gh-7741 --- spring-boot-parent/pom.xml | 5 +++++ spring-boot-tools/spring-boot-maven-plugin/pom.xml | 4 ++++ .../java/org/springframework/boot/maven/BuildInfoMojo.java | 6 ++++++ 3 files changed, 15 insertions(+) diff --git a/spring-boot-parent/pom.xml b/spring-boot-parent/pom.xml index cfea33eee90..1bcf0300dd5 100644 --- a/spring-boot-parent/pom.xml +++ b/spring-boot-parent/pom.xml @@ -222,6 +222,11 @@ kotlin-runtime 1.0.4 + + org.sonatype.plexus + plexus-build-api + 0.0.7 + org.zeroturnaround zt-zip diff --git a/spring-boot-tools/spring-boot-maven-plugin/pom.xml b/spring-boot-tools/spring-boot-maven-plugin/pom.xml index 49da63144e6..a36e808c419 100644 --- a/spring-boot-tools/spring-boot-maven-plugin/pom.xml +++ b/spring-boot-tools/spring-boot-maven-plugin/pom.xml @@ -170,6 +170,10 @@ org.codehaus.plexus plexus-utils + + org.sonatype.plexus + plexus-build-api + org.apache.maven.plugins diff --git a/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildInfoMojo.java b/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildInfoMojo.java index 341438236eb..482c4eb9c81 100644 --- a/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildInfoMojo.java +++ b/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildInfoMojo.java @@ -22,10 +22,12 @@ import java.util.Map; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; +import org.sonatype.plexus.build.incremental.BuildContext; import org.springframework.boot.loader.tools.BuildPropertiesWriter; import org.springframework.boot.loader.tools.BuildPropertiesWriter.NullAdditionalPropertyValueException; @@ -41,6 +43,9 @@ import org.springframework.boot.loader.tools.BuildPropertiesWriter.ProjectDetail @Mojo(name = "build-info", defaultPhase = LifecyclePhase.GENERATE_RESOURCES, threadSafe = true) public class BuildInfoMojo extends AbstractMojo { + @Component + private BuildContext buildContext; + /** * The Maven project. */ @@ -67,6 +72,7 @@ public class BuildInfoMojo extends AbstractMojo { .writeBuildProperties(new ProjectDetails(this.project.getGroupId(), this.project.getArtifactId(), this.project.getVersion(), this.project.getName(), this.additionalProperties)); + this.buildContext.refresh(this.outputFile); } catch (NullAdditionalPropertyValueException ex) { throw new MojoFailureException( From e0541d0f74ccefbfb640788ac8acf682c7b492bc Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 27 Dec 2016 14:48:44 -0800 Subject: [PATCH 5/6] Polish --- .../HealthIndicatorAutoConfiguration.java | 5 +- ...HealthIndicatorAutoConfigurationTests.java | 10 +-- .../HttpClientConfigBuilderCustomizer.java | 5 +- .../jest/JestAutoConfigurationTests.java | 9 +- .../jest/JestClientCustomizationExample.java | 4 +- .../boot/test/context/PortTest.java | 87 +++++++++++++++++++ 6 files changed, 106 insertions(+), 14 deletions(-) create mode 100644 spring-boot-test/src/test/java/org/springframework/boot/test/context/PortTest.java diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java index d74d97e7dac..43013567545 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java @@ -192,8 +192,11 @@ public class HealthIndicatorAutoConfiguration { this.metadataProviders = metadataProvidersProvider.getIfAvailable(); } - private static Map filterDataSources( + private Map filterDataSources( Map candidates) { + if (candidates == null) { + return null; + } Map dataSources = new LinkedHashMap(); for (Map.Entry entry : candidates.entrySet()) { if (!(entry.getValue() instanceof AbstractRoutingDataSource)) { diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfigurationTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfigurationTests.java index 953827f4e46..be0ab02b73d 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfigurationTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfigurationTests.java @@ -24,7 +24,6 @@ import io.searchbox.client.JestClient; import org.junit.After; import org.junit.Test; -import org.springframework.beans.DirectFieldAccessor; import org.springframework.boot.actuate.health.ApplicationHealthIndicator; import org.springframework.boot.actuate.health.CassandraHealthIndicator; import org.springframework.boot.actuate.health.CompositeHealthIndicator; @@ -242,9 +241,8 @@ public class HealthIndicatorAutoConfigurationTests { assertThat(beans).hasSize(1); HealthIndicator bean = beans.values().iterator().next(); assertThat(bean).isExactlyInstanceOf(CompositeHealthIndicator.class); - Map indicators = (Map) - new DirectFieldAccessor(bean).getPropertyValue("indicators"); - assertThat(indicators).hasSize(2); + assertThat(bean.health().getDetails()).containsOnlyKeys("dataSource", + "testDataSource"); } @Test @@ -258,8 +256,8 @@ public class HealthIndicatorAutoConfigurationTests { Map beans = this.context .getBeansOfType(HealthIndicator.class); assertThat(beans).hasSize(1); - assertThat(beans.values().iterator().next().getClass()) - .isEqualTo(DataSourceHealthIndicator.class); + assertThat(beans.values().iterator().next()) + .isExactlyInstanceOf(DataSourceHealthIndicator.class); } @Test diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/HttpClientConfigBuilderCustomizer.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/HttpClientConfigBuilderCustomizer.java index 80fed64ce6b..43d71e29669 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/HttpClientConfigBuilderCustomizer.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/HttpClientConfigBuilderCustomizer.java @@ -20,7 +20,8 @@ import io.searchbox.client.config.HttpClientConfig; /** * Callback interface that can be implemented by beans wishing to further customize the - * {@link HttpClientConfig} via {@link HttpClientConfig.Builder} retaining its default + * {@link io.searchbox.client.config.HttpClientConfig} via + * {@link io.searchbox.client.config.HttpClientConfig.Builder} retaining its default * auto-configuration. * * @author Stephane Nicoll @@ -29,7 +30,7 @@ import io.searchbox.client.config.HttpClientConfig; public interface HttpClientConfigBuilderCustomizer { /** - * Customize the {@link HttpClientConfig.Builder}. + * Customize the {@link io.searchbox.client.config.HttpClientConfig.Builder}. * @param builder the builder to customize */ void customize(HttpClientConfig.Builder builder); diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfigurationTests.java index 0beab88fab6..e12924b361a 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfigurationTests.java @@ -88,10 +88,11 @@ public class JestAutoConfigurationTests { @Test public void customizerOverridesAutoConfig() { - load(BuilderCustomizer.class, "spring.elasticsearch.jest.uris=http://localhost:9200"); + load(BuilderCustomizer.class, + "spring.elasticsearch.jest.uris=http://localhost:9200"); JestHttpClient client = (JestHttpClient) this.context.getBean(JestClient.class); - assertThat(client.getGson()).isSameAs( - this.context.getBean(BuilderCustomizer.class).getGson()); + assertThat(client.getGson()) + .isSameAs(this.context.getBean(BuilderCustomizer.class).getGson()); } @Test @@ -166,10 +167,12 @@ public class JestAutoConfigurationTests { @Bean public HttpClientConfigBuilderCustomizer customizer() { return new HttpClientConfigBuilderCustomizer() { + @Override public void customize(HttpClientConfig.Builder builder) { builder.gson(BuilderCustomizer.this.gson); } + }; } diff --git a/spring-boot-docs/src/main/java/org/springframework/boot/elasticsearch/jest/JestClientCustomizationExample.java b/spring-boot-docs/src/main/java/org/springframework/boot/elasticsearch/jest/JestClientCustomizationExample.java index 3ff765b27b9..1a4c40cc98f 100644 --- a/spring-boot-docs/src/main/java/org/springframework/boot/elasticsearch/jest/JestClientCustomizationExample.java +++ b/spring-boot-docs/src/main/java/org/springframework/boot/elasticsearch/jest/JestClientCustomizationExample.java @@ -37,9 +37,9 @@ public class JestClientCustomizationExample { @Override public void customize(HttpClientConfig.Builder builder) { - builder.maxTotalConnection(100) - .defaultMaxTotalConnectionPerRoute(5); + builder.maxTotalConnection(100).defaultMaxTotalConnectionPerRoute(5); } + } // end::customizer[] } diff --git a/spring-boot-test/src/test/java/org/springframework/boot/test/context/PortTest.java b/spring-boot-test/src/test/java/org/springframework/boot/test/context/PortTest.java new file mode 100644 index 00000000000..f7686b2905d --- /dev/null +++ b/spring-boot-test/src/test/java/org/springframework/boot/test/context/PortTest.java @@ -0,0 +1,87 @@ +/* + * Copyright 2012-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.boot.test.context; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.PortTest.RandomPortInitailizer; +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.support.TestPropertySourceUtils; +import org.springframework.util.SocketUtils; + +import static org.assertj.core.api.Assertions.assertThat; + +@RunWith(SpringRunner.class) +@SpringBootTest +@ContextConfiguration(initializers = RandomPortInitailizer.class) +public class PortTest { + + @Autowired + private SomeService service; + + @Test + public void testName() throws Exception { + System.out.println(this.service); + assertThat(this.service.toString()).containsOnlyDigits(); + } + + @Configuration + static class MyConfig { + + @Bean + public SomeService someService(@Value("${my.random.port}") int port) { + return new SomeService(port); + } + + } + + static class SomeService { + + private final int port; + + public SomeService(int port) { + this.port = port; + } + + @Override + public String toString() { + return String.valueOf(this.port); + } + + } + + public static class RandomPortInitailizer + implements ApplicationContextInitializer { + + @Override + public void initialize(ConfigurableApplicationContext applicationContext) { + int randomPort = SocketUtils.findAvailableTcpPort(); + TestPropertySourceUtils.addInlinedPropertiesToEnvironment(applicationContext, + "my.random.port=" + randomPort); + } + + } + +} From 3af5ae2a26425edf4f965b1bfc2293118cd33c37 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 27 Dec 2016 15:01:22 -0800 Subject: [PATCH 6/6] Polish `ObjectProvider` names Consistently use the simple name for ObjectProvider parameter and field names. For example: `ObjectProvider something` rather than `ObjectProvider somethingProvider` --- .../autoconfigure/AuditAutoConfiguration.java | 4 +-- .../autoconfigure/CrshAutoConfiguration.java | 4 +-- .../EndpointAutoConfiguration.java | 21 +++++++-------- .../EndpointMBeanExportAutoConfiguration.java | 4 +-- ...tWebMvcManagementContextConfiguration.java | 4 +-- .../HealthIndicatorAutoConfiguration.java | 16 +++++------ ...anagementWebSecurityAutoConfiguration.java | 27 ++++++++++--------- .../MetricExportAutoConfiguration.java | 16 +++++------ .../PublicMetricsAutoConfiguration.java | 4 +-- .../TraceWebFilterAutoConfiguration.java | 4 +-- .../EndpointMvcIntegrationTests.java | 4 +-- ...gApplicationAdminJmxAutoConfiguration.java | 4 +-- .../batch/BatchAutoConfiguration.java | 4 +-- .../cache/CaffeineCacheConfiguration.java | 12 ++++----- .../cache/GuavaCacheConfiguration.java | 12 ++++----- .../cache/InfinispanCacheConfiguration.java | 5 ++-- .../cache/JCacheCacheConfiguration.java | 9 +++---- .../cassandra/CassandraAutoConfiguration.java | 5 ++-- .../SpringBootCouchbaseDataConfiguration.java | 4 +-- .../neo4j/Neo4jDataAutoConfiguration.java | 5 ++-- .../data/redis/RedisAutoConfiguration.java | 8 +++--- .../jest/JestAutoConfiguration.java | 9 +++---- .../flyway/FlywayAutoConfiguration.java | 22 +++++++-------- .../GroovyTemplateAutoConfiguration.java | 4 +-- .../jersey/JerseyAutoConfiguration.java | 4 +-- .../ArtemisEmbeddedServerConfiguration.java | 12 ++++----- .../jooq/JooqAutoConfiguration.java | 27 +++++++++---------- .../liquibase/LiquibaseAutoConfiguration.java | 4 +-- .../mail/MailSenderAutoConfiguration.java | 4 +-- .../mongo/MongoAutoConfiguration.java | 4 +-- .../jpa/HibernateJpaAutoConfiguration.java | 4 +-- .../orm/jpa/JpaBaseConfiguration.java | 8 +++--- ...Auth2AuthorizationServerConfiguration.java | 4 +-- ...ourceServerTokenServicesConfiguration.java | 17 ++++++------ .../resource/UserInfoRestTemplateFactory.java | 12 ++++----- ...plateBasicOAuth2SsoConfigurationTests.java | 4 +-- 36 files changed, 152 insertions(+), 163 deletions(-) diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/AuditAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/AuditAutoConfiguration.java index 9e4c525797b..25841c64e64 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/AuditAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/AuditAutoConfiguration.java @@ -44,8 +44,8 @@ public class AuditAutoConfiguration { private final AuditEventRepository auditEventRepository; public AuditAutoConfiguration( - ObjectProvider auditEventRepositoryProvider) { - this.auditEventRepository = auditEventRepositoryProvider.getIfAvailable(); + ObjectProvider auditEventRepository) { + this.auditEventRepository = auditEventRepository.getIfAvailable(); } @Bean diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java index 877400a5ff5..719a8884f3a 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java @@ -180,8 +180,8 @@ public class CrshAutoConfiguration { private final ManagementServerProperties management; public AuthenticationManagerAdapterConfiguration( - ObjectProvider managementProvider) { - this.management = managementProvider.getIfAvailable(); + ObjectProvider management) { + this.management = management.getIfAvailable(); } @Bean diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointAutoConfiguration.java index a3c3947c164..2e7b0e4ebab 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointAutoConfiguration.java @@ -93,17 +93,16 @@ public class EndpointAutoConfiguration { private final TraceRepository traceRepository; - public EndpointAutoConfiguration( - ObjectProvider healthAggregatorProvider, - ObjectProvider> healthIndicatorsProvider, - ObjectProvider> infoContributorsProvider, - ObjectProvider> publicMetricsProvider, - ObjectProvider traceRepositoryProvider) { - this.healthAggregator = healthAggregatorProvider.getIfAvailable(); - this.healthIndicators = healthIndicatorsProvider.getIfAvailable(); - this.infoContributors = infoContributorsProvider.getIfAvailable(); - this.publicMetrics = publicMetricsProvider.getIfAvailable(); - this.traceRepository = traceRepositoryProvider.getIfAvailable(); + public EndpointAutoConfiguration(ObjectProvider healthAggregator, + ObjectProvider> healthIndicators, + ObjectProvider> infoContributors, + ObjectProvider> publicMetrics, + ObjectProvider traceRepository) { + this.healthAggregator = healthAggregator.getIfAvailable(); + this.healthIndicators = healthIndicators.getIfAvailable(); + this.infoContributors = infoContributors.getIfAvailable(); + this.publicMetrics = publicMetrics.getIfAvailable(); + this.traceRepository = traceRepository.getIfAvailable(); } @Bean diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointMBeanExportAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointMBeanExportAutoConfiguration.java index 01a0c045b1a..2e8142d4584 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointMBeanExportAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointMBeanExportAutoConfiguration.java @@ -58,9 +58,9 @@ public class EndpointMBeanExportAutoConfiguration { private final ObjectMapper objectMapper; public EndpointMBeanExportAutoConfiguration(EndpointMBeanExportProperties properties, - ObjectProvider objectMapperProvider) { + ObjectProvider objectMapper) { this.properties = properties; - this.objectMapper = objectMapperProvider.getIfAvailable(); + this.objectMapper = objectMapper.getIfAvailable(); } @Bean diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcManagementContextConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcManagementContextConfiguration.java index 687408b6065..f1889eb9e26 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcManagementContextConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcManagementContextConfiguration.java @@ -81,11 +81,11 @@ public class EndpointWebMvcManagementContextConfiguration { HealthMvcEndpointProperties healthMvcEndpointProperties, ManagementServerProperties managementServerProperties, EndpointCorsProperties corsProperties, - ObjectProvider> mappingCustomizersProvider) { + ObjectProvider> mappingCustomizers) { this.healthMvcEndpointProperties = healthMvcEndpointProperties; this.managementServerProperties = managementServerProperties; this.corsProperties = corsProperties; - List providedCustomizers = mappingCustomizersProvider + List providedCustomizers = mappingCustomizers .getIfAvailable(); this.mappingCustomizers = providedCustomizers == null ? Collections.emptyList() diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java index 43013567545..e8382334791 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java @@ -186,10 +186,10 @@ public class HealthIndicatorAutoConfiguration { private DataSourcePoolMetadataProvider poolMetadataProvider; public DataSourcesHealthIndicatorConfiguration( - ObjectProvider> dataSourcesProvider, - ObjectProvider> metadataProvidersProvider) { - this.dataSources = filterDataSources(dataSourcesProvider.getIfAvailable()); - this.metadataProviders = metadataProvidersProvider.getIfAvailable(); + ObjectProvider> dataSources, + ObjectProvider> metadataProviders) { + this.dataSources = filterDataSources(dataSources.getIfAvailable()); + this.metadataProviders = metadataProviders.getIfAvailable(); } private Map filterDataSources( @@ -341,8 +341,8 @@ public class HealthIndicatorAutoConfiguration { private final Map mailSenders; public MailHealthIndicatorConfiguration( - ObjectProvider> mailSendersProvider) { - this.mailSenders = mailSendersProvider.getIfAvailable(); + ObjectProvider> mailSenders) { + this.mailSenders = mailSenders.getIfAvailable(); } @Bean @@ -362,8 +362,8 @@ public class HealthIndicatorAutoConfiguration { private final Map connectionFactories; public JmsHealthIndicatorConfiguration( - ObjectProvider> connectionFactoriesProvider) { - this.connectionFactories = connectionFactoriesProvider.getIfAvailable(); + ObjectProvider> connectionFactories) { + this.connectionFactories = connectionFactories.getIfAvailable(); } @Bean diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ManagementWebSecurityAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ManagementWebSecurityAutoConfiguration.java index 1221fd1c763..51507d52afa 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ManagementWebSecurityAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ManagementWebSecurityAutoConfiguration.java @@ -100,9 +100,9 @@ public class ManagementWebSecurityAutoConfiguration { @Bean public IgnoredRequestCustomizer managementIgnoredRequestCustomizer( ManagementServerProperties management, - ObjectProvider contextResolverProvider) { + ObjectProvider contextResolver) { return new ManagementIgnoredRequestCustomizer(management, - contextResolverProvider.getIfAvailable()); + contextResolver.getIfAvailable()); } private class ManagementIgnoredRequestCustomizer implements IgnoredRequestCustomizer { @@ -133,22 +133,23 @@ public class ManagementWebSecurityAutoConfiguration { protected static class ManagementSecurityPropertiesConfiguration implements SecurityPrerequisite { - private final SecurityProperties security; + private final SecurityProperties securityProperties; - private final ManagementServerProperties management; + private final ManagementServerProperties managementServerProperties; public ManagementSecurityPropertiesConfiguration( - ObjectProvider securityProvider, - ObjectProvider managementProvider) { - this.security = securityProvider.getIfAvailable(); - this.management = managementProvider.getIfAvailable(); + ObjectProvider securityProperties, + ObjectProvider managementServerProperties) { + this.securityProperties = securityProperties.getIfAvailable(); + this.managementServerProperties = managementServerProperties.getIfAvailable(); } @PostConstruct public void init() { - if (this.management != null && this.security != null) { - this.security.getUser().getRole() - .addAll(this.management.getSecurity().getRoles()); + if (this.managementServerProperties != null + && this.securityProperties != null) { + this.securityProperties.getUser().getRole() + .addAll(this.managementServerProperties.getSecurity().getRoles()); } } @@ -200,10 +201,10 @@ public class ManagementWebSecurityAutoConfiguration { public ManagementWebSecurityConfigurerAdapter(SecurityProperties security, ManagementServerProperties management, - ObjectProvider contextResolverProvider) { + ObjectProvider contextResolver) { this.security = security; this.management = management; - this.contextResolver = contextResolverProvider.getIfAvailable(); + this.contextResolver = contextResolver.getIfAvailable(); } @Override diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricExportAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricExportAutoConfiguration.java index 24d5f266607..0a11bfca7b6 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricExportAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/MetricExportAutoConfiguration.java @@ -64,14 +64,14 @@ public class MetricExportAutoConfiguration { private final Map exporters; public MetricExportAutoConfiguration(MetricExportProperties properties, - ObjectProvider endpointReaderProvider, - @ExportMetricReader ObjectProvider> readersProvider, - @ExportMetricWriter ObjectProvider> writersProvider, - ObjectProvider> exportersProvider) { - this.endpointReader = endpointReaderProvider.getIfAvailable(); - this.readers = readersProvider.getIfAvailable(); - this.writers = writersProvider.getIfAvailable(); - this.exporters = exportersProvider.getIfAvailable(); + ObjectProvider endpointReader, + @ExportMetricReader ObjectProvider> readers, + @ExportMetricWriter ObjectProvider> writers, + ObjectProvider> exporters) { + this.endpointReader = endpointReader.getIfAvailable(); + this.readers = readers.getIfAvailable(); + this.writers = writers.getIfAvailable(); + this.exporters = exporters.getIfAvailable(); } @Bean diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/PublicMetricsAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/PublicMetricsAutoConfiguration.java index 27526cc4ad3..5bedf030fc6 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/PublicMetricsAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/PublicMetricsAutoConfiguration.java @@ -76,8 +76,8 @@ public class PublicMetricsAutoConfiguration { private final List metricReaders; public PublicMetricsAutoConfiguration( - @ExportMetricReader ObjectProvider> metricReadersProvider) { - this.metricReaders = metricReadersProvider.getIfAvailable(); + @ExportMetricReader ObjectProvider> metricReaders) { + this.metricReaders = metricReaders.getIfAvailable(); } @Bean diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/TraceWebFilterAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/TraceWebFilterAutoConfiguration.java index 6569605b7f5..2302b36280e 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/TraceWebFilterAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/TraceWebFilterAutoConfiguration.java @@ -54,10 +54,10 @@ public class TraceWebFilterAutoConfiguration { public TraceWebFilterAutoConfiguration(TraceRepository traceRepository, TraceProperties traceProperties, - ObjectProvider errorAttributesProvider) { + ObjectProvider errorAttributes) { this.traceRepository = traceRepository; this.traceProperties = traceProperties; - this.errorAttributes = errorAttributesProvider.getIfAvailable(); + this.errorAttributes = errorAttributes.getIfAvailable(); } @Bean diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/EndpointMvcIntegrationTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/EndpointMvcIntegrationTests.java index d484fc8b1e4..d7fc1c98bea 100755 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/EndpointMvcIntegrationTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/EndpointMvcIntegrationTests.java @@ -110,8 +110,8 @@ public class EndpointMvcIntegrationTests { private final List> converters; public Application( - ObjectProvider>> convertersProvider) { - this.converters = convertersProvider.getIfAvailable(); + ObjectProvider>> converters) { + this.converters = converters.getIfAvailable(); } @RequestMapping("/{name}/{env}/{bar}") diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java index e060df2f54d..f20d6343b3a 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java @@ -60,9 +60,9 @@ public class SpringApplicationAdminJmxAutoConfiguration { private final Environment environment; public SpringApplicationAdminJmxAutoConfiguration( - ObjectProvider mbeanExporterProvider, + ObjectProvider mbeanExporter, Environment environment) { - this.mbeanExporter = mbeanExporterProvider.getIfAvailable(); + this.mbeanExporter = mbeanExporter.getIfAvailable(); this.environment = environment; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java index 2586c8621a2..fc9bafc204a 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchAutoConfiguration.java @@ -72,9 +72,9 @@ public class BatchAutoConfiguration { private final JobParametersConverter jobParametersConverter; public BatchAutoConfiguration(BatchProperties properties, - ObjectProvider jobParametersConverterProvider) { + ObjectProvider jobParametersConverter) { this.properties = properties; - this.jobParametersConverter = jobParametersConverterProvider.getIfAvailable(); + this.jobParametersConverter = jobParametersConverter.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CaffeineCacheConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CaffeineCacheConfiguration.java index 04d6456defa..0528b9d6b19 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CaffeineCacheConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CaffeineCacheConfiguration.java @@ -57,14 +57,14 @@ class CaffeineCacheConfiguration { CaffeineCacheConfiguration(CacheProperties cacheProperties, CacheManagerCustomizers customizers, - ObjectProvider> caffeineProvider, - ObjectProvider caffeineSpecProvider, - ObjectProvider> cacheLoaderProvider) { + ObjectProvider> caffeine, + ObjectProvider caffeineSpec, + ObjectProvider> cacheLoader) { this.cacheProperties = cacheProperties; this.customizers = customizers; - this.caffeine = caffeineProvider.getIfAvailable(); - this.caffeineSpec = caffeineSpecProvider.getIfAvailable(); - this.cacheLoader = cacheLoaderProvider.getIfAvailable(); + this.caffeine = caffeine.getIfAvailable(); + this.caffeineSpec = caffeineSpec.getIfAvailable(); + this.cacheLoader = cacheLoader.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/GuavaCacheConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/GuavaCacheConfiguration.java index 55cccb97e3d..ce8d852f811 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/GuavaCacheConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/GuavaCacheConfiguration.java @@ -58,14 +58,14 @@ class GuavaCacheConfiguration { GuavaCacheConfiguration(CacheProperties cacheProperties, CacheManagerCustomizers customizers, - ObjectProvider> cacheBuilderProvider, - ObjectProvider cacheBuilderSpecProvider, - ObjectProvider> cacheLoaderProvider) { + ObjectProvider> cacheBuilder, + ObjectProvider cacheBuilderSpec, + ObjectProvider> cacheLoader) { this.cacheProperties = cacheProperties; this.customizers = customizers; - this.cacheBuilder = cacheBuilderProvider.getIfAvailable(); - this.cacheBuilderSpec = cacheBuilderSpecProvider.getIfAvailable(); - this.cacheLoader = cacheLoaderProvider.getIfAvailable(); + this.cacheBuilder = cacheBuilder.getIfAvailable(); + this.cacheBuilderSpec = cacheBuilderSpec.getIfAvailable(); + this.cacheLoader = cacheLoader.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/InfinispanCacheConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/InfinispanCacheConfiguration.java index 3744091baff..9847960f430 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/InfinispanCacheConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/InfinispanCacheConfiguration.java @@ -56,11 +56,10 @@ public class InfinispanCacheConfiguration { public InfinispanCacheConfiguration(CacheProperties cacheProperties, CacheManagerCustomizers customizers, - ObjectProvider defaultConfigurationBuilderProvider) { + ObjectProvider defaultConfigurationBuilder) { this.cacheProperties = cacheProperties; this.customizers = customizers; - this.defaultConfigurationBuilder = defaultConfigurationBuilderProvider - .getIfAvailable(); + this.defaultConfigurationBuilder = defaultConfigurationBuilder.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/JCacheCacheConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/JCacheCacheConfiguration.java index 907e65310d5..582fc358e5b 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/JCacheCacheConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/JCacheCacheConfiguration.java @@ -71,13 +71,12 @@ class JCacheCacheConfiguration { JCacheCacheConfiguration(CacheProperties cacheProperties, CacheManagerCustomizers customizers, - ObjectProvider> defaultCacheConfigurationProvider, - ObjectProvider> cacheManagerCustomizersProvider) { + ObjectProvider> defaultCacheConfiguration, + ObjectProvider> cacheManagerCustomizers) { this.cacheProperties = cacheProperties; this.customizers = customizers; - this.defaultCacheConfiguration = defaultCacheConfigurationProvider - .getIfAvailable(); - this.cacheManagerCustomizers = cacheManagerCustomizersProvider.getIfAvailable(); + this.defaultCacheConfiguration = defaultCacheConfiguration.getIfAvailable(); + this.cacheManagerCustomizers = cacheManagerCustomizers.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java index a6deb009477..1fda2794584 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java @@ -54,10 +54,9 @@ public class CassandraAutoConfiguration { private final List builderCustomizers; public CassandraAutoConfiguration(CassandraProperties properties, - ObjectProvider> builderCustomizersProvider) { + ObjectProvider> builderCustomizers) { this.properties = properties; - this.builderCustomizers = builderCustomizersProvider - .getIfAvailable(); + this.builderCustomizers = builderCustomizers.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/SpringBootCouchbaseDataConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/SpringBootCouchbaseDataConfiguration.java index 9e210703c2e..3d80b8654b8 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/SpringBootCouchbaseDataConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/SpringBootCouchbaseDataConfiguration.java @@ -53,10 +53,10 @@ class SpringBootCouchbaseDataConfiguration extends AbstractCouchbaseDataConfigur SpringBootCouchbaseDataConfiguration(ApplicationContext applicationContext, CouchbaseDataProperties properties, - ObjectProvider couchbaseConfigurerProvider) { + ObjectProvider couchbaseConfigurer) { this.applicationContext = applicationContext; this.properties = properties; - this.couchbaseConfigurer = couchbaseConfigurerProvider.getIfAvailable(); + this.couchbaseConfigurer = couchbaseConfigurer.getIfAvailable(); } @Override diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java index f0a069b1b90..b165a70b310 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java @@ -67,11 +67,10 @@ public class Neo4jDataAutoConfiguration { @Bean public SessionFactory sessionFactory(org.neo4j.ogm.config.Configuration configuration, ApplicationContext applicationContext, - ObjectProvider> eventListenersProvider) { + ObjectProvider> eventListeners) { SessionFactory sessionFactory = new SessionFactory(configuration, getPackagesToScan(applicationContext)); - List providedEventListeners = eventListenersProvider - .getIfAvailable(); + List providedEventListeners = eventListeners.getIfAvailable(); if (providedEventListeners != null) { for (EventListener eventListener : providedEventListeners) { sessionFactory.register(eventListener); diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.java index 1c770888d5b..909a81cdd3d 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.java @@ -78,11 +78,11 @@ public class RedisAutoConfiguration { private final RedisClusterConfiguration clusterConfiguration; public RedisConnectionConfiguration(RedisProperties properties, - ObjectProvider sentinelConfigurationProvider, - ObjectProvider clusterConfigurationProvider) { + ObjectProvider sentinelConfiguration, + ObjectProvider clusterConfiguration) { this.properties = properties; - this.sentinelConfiguration = sentinelConfigurationProvider.getIfAvailable(); - this.clusterConfiguration = clusterConfigurationProvider.getIfAvailable(); + this.sentinelConfiguration = sentinelConfiguration.getIfAvailable(); + this.clusterConfiguration = clusterConfiguration.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java index 2baf29a5293..8a239559afb 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java @@ -54,12 +54,11 @@ public class JestAutoConfiguration { private final List builderCustomizers; - public JestAutoConfiguration(JestProperties properties, - ObjectProvider gsonProvider, - ObjectProvider> builderCustomizersProvider) { + public JestAutoConfiguration(JestProperties properties, ObjectProvider gson, + ObjectProvider> builderCustomizers) { this.properties = properties; - this.gsonProvider = gsonProvider; - this.builderCustomizers = builderCustomizersProvider.getIfAvailable(); + this.gsonProvider = gson; + this.builderCustomizers = builderCustomizers.getIfAvailable(); } @Bean(destroyMethod = "shutdownClient") diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java index c49ea59ebbf..8c474f81ffa 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java @@ -93,15 +93,14 @@ public class FlywayAutoConfiguration { private final FlywayMigrationStrategy migrationStrategy; public FlywayConfiguration(FlywayProperties properties, - ResourceLoader resourceLoader, - ObjectProvider dataSourceProvider, - @FlywayDataSource ObjectProvider flywayDataSourceProvider, - ObjectProvider migrationStrategyProvider) { + ResourceLoader resourceLoader, ObjectProvider dataSource, + @FlywayDataSource ObjectProvider flywayDataSource, + ObjectProvider migrationStrategy) { this.properties = properties; this.resourceLoader = resourceLoader; - this.dataSource = dataSourceProvider.getIfUnique(); - this.flywayDataSource = flywayDataSourceProvider.getIfAvailable(); - this.migrationStrategy = migrationStrategyProvider.getIfAvailable(); + this.dataSource = dataSource.getIfUnique(); + this.flywayDataSource = flywayDataSource.getIfAvailable(); + this.migrationStrategy = migrationStrategy.getIfAvailable(); } @PostConstruct @@ -185,7 +184,6 @@ public class FlywayAutoConfiguration { } - private static class SpringBootFlyway extends Flyway { private static final String VENDOR_PLACEHOLDER = "{vendor}"; @@ -194,13 +192,12 @@ public class FlywayAutoConfiguration { public void setLocations(String... locations) { if (usesVendorLocation(locations)) { try { - String url = (String) JdbcUtils.extractDatabaseMetaData( - getDataSource(), "getURL"); + String url = (String) JdbcUtils + .extractDatabaseMetaData(getDataSource(), "getURL"); DatabaseDriver vendor = DatabaseDriver.fromJdbcUrl(url); if (vendor != DatabaseDriver.UNKNOWN) { for (int i = 0; i < locations.length; i++) { - locations[i] = locations[i].replace( - VENDOR_PLACEHOLDER, + locations[i] = locations[i].replace(VENDOR_PLACEHOLDER, vendor.getId()); } } @@ -212,7 +209,6 @@ public class FlywayAutoConfiguration { super.setLocations(locations); } - private boolean usesVendorLocation(String... locations) { for (String location : locations) { if (location.contains(VENDOR_PLACEHOLDER)) { diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java index 8117d3ea499..dc4297926b7 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAutoConfiguration.java @@ -77,10 +77,10 @@ public class GroovyTemplateAutoConfiguration { public GroovyMarkupConfiguration(ApplicationContext applicationContext, GroovyTemplateProperties properties, - ObjectProvider templateEngineProvider) { + ObjectProvider templateEngine) { this.applicationContext = applicationContext; this.properties = properties; - this.templateEngine = templateEngineProvider.getIfAvailable(); + this.templateEngine = templateEngine.getIfAvailable(); } @PostConstruct diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java index 357aafa42a2..2d76b3dfe07 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java @@ -100,10 +100,10 @@ public class JerseyAutoConfiguration implements ServletContextAware { private String path; public JerseyAutoConfiguration(JerseyProperties jersey, ResourceConfig config, - ObjectProvider> customizersProvider) { + ObjectProvider> customizers) { this.jersey = jersey; this.config = config; - this.customizers = customizersProvider.getIfAvailable(); + this.customizers = customizers.getIfAvailable(); } @PostConstruct diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/artemis/ArtemisEmbeddedServerConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/artemis/ArtemisEmbeddedServerConfiguration.java index f7730e8cc25..a3e68caa54e 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/artemis/ArtemisEmbeddedServerConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/artemis/ArtemisEmbeddedServerConfiguration.java @@ -56,13 +56,13 @@ class ArtemisEmbeddedServerConfiguration { private final List topicsConfiguration; ArtemisEmbeddedServerConfiguration(ArtemisProperties properties, - ObjectProvider> configurationCustomizersProvider, - ObjectProvider> queuesConfigurationProvider, - ObjectProvider> topicsConfigurationProvider) { + ObjectProvider> configurationCustomizers, + ObjectProvider> queuesConfiguration, + ObjectProvider> topicsConfiguration) { this.properties = properties; - this.configurationCustomizers = configurationCustomizersProvider.getIfAvailable(); - this.queuesConfiguration = queuesConfigurationProvider.getIfAvailable(); - this.topicsConfiguration = topicsConfigurationProvider.getIfAvailable(); + this.configurationCustomizers = configurationCustomizers.getIfAvailable(); + this.queuesConfiguration = queuesConfiguration.getIfAvailable(); + this.topicsConfiguration = topicsConfiguration.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java index d0cb1c30972..eb7208ae3bc 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java @@ -83,7 +83,7 @@ public class JooqAutoConfiguration { private final JooqProperties properties; - private final ConnectionProvider connectionProvider; + private final ConnectionProvider connection; private final TransactionProvider transactionProvider; @@ -99,21 +99,20 @@ public class JooqAutoConfiguration { public DslContextConfiguration(JooqProperties properties, ConnectionProvider connectionProvider, - ObjectProvider transactionProviderProvider, - ObjectProvider recordMapperProviderProvider, - ObjectProvider settingsProvider, - ObjectProvider recordListenerProvidersProvider, + ObjectProvider transactionProvider, + ObjectProvider recordMapperProvider, + ObjectProvider settings, + ObjectProvider recordListenerProviders, ExecuteListenerProvider[] executeListenerProviders, - ObjectProvider visitListenerProvidersProvider) { + ObjectProvider visitListenerProviders) { this.properties = properties; - this.connectionProvider = connectionProvider; - this.transactionProvider = transactionProviderProvider.getIfAvailable(); - this.recordMapperProvider = recordMapperProviderProvider.getIfAvailable(); - this.settings = settingsProvider.getIfAvailable(); - this.recordListenerProviders = recordListenerProvidersProvider - .getIfAvailable(); + this.connection = connectionProvider; + this.transactionProvider = transactionProvider.getIfAvailable(); + this.recordMapperProvider = recordMapperProvider.getIfAvailable(); + this.settings = settings.getIfAvailable(); + this.recordListenerProviders = recordListenerProviders.getIfAvailable(); this.executeListenerProviders = executeListenerProviders; - this.visitListenerProviders = visitListenerProvidersProvider.getIfAvailable(); + this.visitListenerProviders = visitListenerProviders.getIfAvailable(); } @Bean @@ -128,7 +127,7 @@ public class JooqAutoConfiguration { if (this.properties.getSqlDialect() != null) { configuration.set(this.properties.getSqlDialect()); } - configuration.set(this.connectionProvider); + configuration.set(this.connection); if (this.transactionProvider != null) { configuration.set(this.transactionProvider); } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java index 62ad24bd91a..66eb37abb96 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java @@ -77,11 +77,11 @@ public class LiquibaseAutoConfiguration { public LiquibaseConfiguration(LiquibaseProperties properties, ResourceLoader resourceLoader, DataSource dataSource, - @LiquibaseDataSource ObjectProvider liquibaseDataSourceProvider) { + @LiquibaseDataSource ObjectProvider liquibaseDataSource) { this.properties = properties; this.resourceLoader = resourceLoader; this.dataSource = dataSource; - this.liquibaseDataSource = liquibaseDataSourceProvider.getIfAvailable(); + this.liquibaseDataSource = liquibaseDataSource.getIfAvailable(); } @PostConstruct diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfiguration.java index a14095ba853..3bc70bf53fe 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mail/MailSenderAutoConfiguration.java @@ -59,9 +59,9 @@ public class MailSenderAutoConfiguration { private final Session session; public MailSenderAutoConfiguration(MailProperties properties, - ObjectProvider sessionProvider) { + ObjectProvider session) { this.properties = properties; - this.session = sessionProvider.getIfAvailable(); + this.session = session.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoAutoConfiguration.java index fb0363abfb6..83fb675354a 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoAutoConfiguration.java @@ -54,9 +54,9 @@ public class MongoAutoConfiguration { private MongoClient mongo; public MongoAutoConfiguration(MongoProperties properties, - ObjectProvider optionsProvider, Environment environment) { + ObjectProvider options, Environment environment) { this.properties = properties; - this.options = optionsProvider.getIfAvailable(); + this.options = options.getIfAvailable(); this.environment = environment; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java index 4d1a38c69a7..3149bbbeaa7 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java @@ -88,8 +88,8 @@ public class HibernateJpaAutoConfiguration extends JpaBaseConfiguration { public HibernateJpaAutoConfiguration(DataSource dataSource, JpaProperties jpaProperties, - ObjectProvider jtaTransactionManagerProvider) { - super(dataSource, jpaProperties, jtaTransactionManagerProvider); + ObjectProvider jtaTransactionManager) { + super(dataSource, jpaProperties, jtaTransactionManager); } @Override diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration.java index 48f79d2ff0e..7dfb12ee2ff 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration.java @@ -74,10 +74,10 @@ public abstract class JpaBaseConfiguration implements BeanFactoryAware { private ConfigurableListableBeanFactory beanFactory; protected JpaBaseConfiguration(DataSource dataSource, JpaProperties properties, - ObjectProvider jtaTransactionManagerProvider) { + ObjectProvider jtaTransactionManager) { this.dataSource = dataSource; this.properties = properties; - this.jtaTransactionManager = jtaTransactionManagerProvider.getIfAvailable(); + this.jtaTransactionManager = jtaTransactionManager.getIfAvailable(); } @Bean @@ -103,10 +103,10 @@ public abstract class JpaBaseConfiguration implements BeanFactoryAware { @ConditionalOnMissingBean public EntityManagerFactoryBuilder entityManagerFactoryBuilder( JpaVendorAdapter jpaVendorAdapter, - ObjectProvider persistenceUnitManagerProvider) { + ObjectProvider persistenceUnitManager) { EntityManagerFactoryBuilder builder = new EntityManagerFactoryBuilder( jpaVendorAdapter, this.properties.getProperties(), - persistenceUnitManagerProvider.getIfAvailable()); + persistenceUnitManager.getIfAvailable()); builder.setCallback(getVendorCallback()); return builder; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/authserver/OAuth2AuthorizationServerConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/authserver/OAuth2AuthorizationServerConfiguration.java index 0fd08bb1132..4480b40de70 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/authserver/OAuth2AuthorizationServerConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/authserver/OAuth2AuthorizationServerConfiguration.java @@ -78,11 +78,11 @@ public class OAuth2AuthorizationServerConfiguration public OAuth2AuthorizationServerConfiguration(BaseClientDetails details, AuthenticationManager authenticationManager, - ObjectProvider tokenStoreProvider, + ObjectProvider tokenStore, AuthorizationServerProperties properties) { this.details = details; this.authenticationManager = authenticationManager; - this.tokenStore = tokenStoreProvider.getIfAvailable(); + this.tokenStore = tokenStore.getIfAvailable(); this.properties = properties; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/ResourceServerTokenServicesConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/ResourceServerTokenServicesConfiguration.java index d0313a64884..08e5508d3fd 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/ResourceServerTokenServicesConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/ResourceServerTokenServicesConfiguration.java @@ -85,11 +85,10 @@ public class ResourceServerTokenServicesConfiguration { @Bean @ConditionalOnMissingBean public UserInfoRestTemplateFactory userInfoRestTemplateFactory( - ObjectProvider> customizersProvider, - ObjectProvider detailsProvider, - ObjectProvider oauth2ClientContextProvider) { - return new UserInfoRestTemplateFactory(customizersProvider, detailsProvider, - oauth2ClientContextProvider); + ObjectProvider> customizers, + ObjectProvider details, + ObjectProvider oauth2ClientContext) { + return new UserInfoRestTemplateFactory(customizers, details, oauth2ClientContext); } @Configuration @@ -133,12 +132,12 @@ public class ResourceServerTokenServicesConfiguration { private final PrincipalExtractor principalExtractor; public SocialTokenServicesConfiguration(ResourceServerProperties sso, - ObjectProvider> connectionFactoryProvider, + ObjectProvider> connectionFactory, UserInfoRestTemplateFactory restTemplateFactory, ObjectProvider authoritiesExtractor, ObjectProvider principalExtractor) { this.sso = sso; - this.connectionFactory = connectionFactoryProvider.getIfAvailable(); + this.connectionFactory = connectionFactory.getIfAvailable(); this.restTemplate = restTemplateFactory.getUserInfoRestTemplate(); this.authoritiesExtractor = authoritiesExtractor.getIfAvailable(); this.principalExtractor = principalExtractor.getIfAvailable(); @@ -225,9 +224,9 @@ public class ResourceServerTokenServicesConfiguration { private final List configurers; public JwtTokenServicesConfiguration(ResourceServerProperties resource, - ObjectProvider> configurersProvider) { + ObjectProvider> configurers) { this.resource = resource; - this.configurers = configurersProvider.getIfAvailable(); + this.configurers = configurers.getIfAvailable(); } @Bean diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/UserInfoRestTemplateFactory.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/UserInfoRestTemplateFactory.java index cfe4355410e..ba17849d44c 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/UserInfoRestTemplateFactory.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/UserInfoRestTemplateFactory.java @@ -59,12 +59,12 @@ public class UserInfoRestTemplateFactory { private OAuth2RestTemplate template; public UserInfoRestTemplateFactory( - ObjectProvider> customizersProvider, - ObjectProvider detailsProvider, - ObjectProvider oauth2ClientContextProvider) { - this.customizers = customizersProvider.getIfAvailable(); - this.details = detailsProvider.getIfAvailable(); - this.oauth2ClientContext = oauth2ClientContextProvider.getIfAvailable(); + ObjectProvider> customizers, + ObjectProvider details, + ObjectProvider oauth2ClientContext) { + this.customizers = customizers.getIfAvailable(); + this.details = details.getIfAvailable(); + this.oauth2ClientContext = oauth2ClientContext.getIfAvailable(); } public OAuth2RestTemplate getUserInfoRestTemplate() { diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/sso/CustomRestTemplateBasicOAuth2SsoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/sso/CustomRestTemplateBasicOAuth2SsoConfigurationTests.java index 1dee191cd49..63a8ad31509 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/sso/CustomRestTemplateBasicOAuth2SsoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/sso/CustomRestTemplateBasicOAuth2SsoConfigurationTests.java @@ -57,11 +57,11 @@ public class CustomRestTemplateBasicOAuth2SsoConfigurationTests { private ApplicationContext applicationContext; @Autowired - private ObjectProvider restTemplateProvider; + private ObjectProvider restTemplate; @Test public void customRestTemplateCanBePrimary() { - RestTemplate restTemplate = this.restTemplateProvider.getIfAvailable(); + RestTemplate restTemplate = this.restTemplate.getIfAvailable(); verifyZeroInteractions(restTemplate); assertThat(this.applicationContext.getBeansOfType(RestTemplate.class)).hasSize(1); }