Skip to content

Commit e8d1479

Browse files
committed
Merge pull request #37746 from techiesarav
* pr/37746: Polish "Remove @ConditionalOnMissingBean from RestTemplateBuilderConfigurer" Remove @ConditionalOnMissingBean from RestTemplateBuilderConfigurer Closes gh-37746
2 parents 91204df + 6874a2f commit e8d1479

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ public class RestTemplateAutoConfiguration {
4545

4646
@Bean
4747
@Lazy
48-
@ConditionalOnMissingBean
4948
public RestTemplateBuilderConfigurer restTemplateBuilderConfigurer(
5049
ObjectProvider<HttpMessageConverters> messageConverters,
5150
ObjectProvider<RestTemplateCustomizer> restTemplateCustomizers,

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfigurationTests.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import org.junit.jupiter.api.Test;
2323

24+
import org.springframework.beans.factory.support.BeanDefinitionOverrideException;
2425
import org.springframework.boot.autoconfigure.AutoConfigurations;
2526
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
2627
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;
@@ -65,6 +66,14 @@ void restTemplateBuilderConfigurerShouldBeLazilyDefined() {
6566
.isTrue());
6667
}
6768

69+
@Test
70+
void shouldFailOnCustomRestTemplateBuilderConfigurer() {
71+
this.contextRunner.withUserConfiguration(RestTemplateCustomConfigurerConfig.class)
72+
.run((context) -> assertThat(context).getFailure()
73+
.isInstanceOf(BeanDefinitionOverrideException.class)
74+
.hasMessageContaining("with name 'restTemplateBuilderConfigurer'"));
75+
}
76+
6877
@Test
6978
void restTemplateBuilderShouldBeLazilyDefined() {
7079
this.contextRunner
@@ -263,6 +272,16 @@ RestTemplateRequestCustomizer<?> restTemplateRequestCustomizer() {
263272

264273
}
265274

275+
@Configuration(proxyBeanMethods = false)
276+
static class RestTemplateCustomConfigurerConfig {
277+
278+
@Bean
279+
RestTemplateBuilderConfigurer restTemplateBuilderConfigurer() {
280+
return new RestTemplateBuilderConfigurer();
281+
}
282+
283+
}
284+
266285
static class CustomHttpMessageConverter extends StringHttpMessageConverter {
267286

268287
}

0 commit comments

Comments
 (0)