Skip to content

Commit 882e29d

Browse files
saravanakumar Ramasamymhalbritter
saravanakumar Ramasamy
authored andcommitted
Remove @ConditionalOnMissingBean from RestTemplateBuilderConfigurer
See gh-37746
1 parent 91204df commit 882e29d

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-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: 21 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;
@@ -42,6 +43,7 @@
4243
import org.springframework.web.client.RestTemplate;
4344

4445
import static org.assertj.core.api.Assertions.assertThat;
46+
import static org.junit.jupiter.api.Assertions.assertThrows;
4547
import static org.mockito.ArgumentMatchers.any;
4648
import static org.mockito.BDDMockito.given;
4749
import static org.mockito.BDDMockito.then;
@@ -65,6 +67,15 @@ void restTemplateBuilderConfigurerShouldBeLazilyDefined() {
6567
.isTrue());
6668
}
6769

70+
@Test
71+
void assertExceptionWhenCustomRestTemplateConfigurerIsDefined() {
72+
this.contextRunner
73+
.withUserConfiguration(RestTemplateCustomConfigurerConfig.class)
74+
.run((context) -> assertThrows( BeanDefinitionOverrideException.class, () ->{
75+
context.getBeanFactory().getBeanDefinition("restTemplateBuilderConfigurer");
76+
}));
77+
}
78+
6879
@Test
6980
void restTemplateBuilderShouldBeLazilyDefined() {
7081
this.contextRunner
@@ -263,6 +274,16 @@ RestTemplateRequestCustomizer<?> restTemplateRequestCustomizer() {
263274

264275
}
265276

277+
@Configuration(proxyBeanMethods = false)
278+
static class RestTemplateCustomConfigurerConfig {
279+
280+
@Bean
281+
RestTemplateBuilderConfigurer restTemplateBuilderConfigurer() {
282+
return new RestTemplateBuilderConfigurer();
283+
}
284+
285+
}
286+
266287
static class CustomHttpMessageConverter extends StringHttpMessageConverter {
267288

268289
}

0 commit comments

Comments
 (0)