Skip to content

Commit 7e04ac2

Browse files
committed
Polish "Make it easier to override RequestToViewNameTranslator bean"
See gh-40874
1 parent 062ed4b commit 7e04ac2

File tree

2 files changed

+12
-13
lines changed

2 files changed

+12
-13
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -470,15 +470,13 @@ public FlashMapManager flashMapManager() {
470470
return super.flashMapManager();
471471
}
472472

473-
474473
@Override
475474
@Bean
476475
@ConditionalOnMissingBean(name = DispatcherServlet.REQUEST_TO_VIEW_NAME_TRANSLATOR_BEAN_NAME)
477476
public RequestToViewNameTranslator viewNameTranslator() {
478477
return super.viewNameTranslator();
479478
}
480479

481-
482480
private Resource getIndexHtmlResource() {
483481
for (String location : this.resourceProperties.getStaticLocations()) {
484482
Resource indexHtml = getIndexHtmlResource(location);

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfigurationTests.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
import org.springframework.boot.web.servlet.filter.OrderedFormContentFilter;
6666
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
6767
import org.springframework.context.ApplicationContext;
68-
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
6968
import org.springframework.context.annotation.Bean;
7069
import org.springframework.context.annotation.Configuration;
7170
import org.springframework.context.annotation.Import;
@@ -90,7 +89,6 @@
9089
import org.springframework.web.accept.ParameterContentNegotiationStrategy;
9190
import org.springframework.web.bind.annotation.ControllerAdvice;
9291
import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
93-
import org.springframework.web.context.request.RequestAttributes;
9492
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
9593
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
9694
import org.springframework.web.filter.FormContentFilter;
@@ -139,6 +137,7 @@
139137
import org.springframework.web.servlet.support.SessionFlashMapManager;
140138
import org.springframework.web.servlet.view.AbstractView;
141139
import org.springframework.web.servlet.view.ContentNegotiatingViewResolver;
140+
import org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator;
142141
import org.springframework.web.util.UrlPathHelper;
143142

144143
import static org.assertj.core.api.Assertions.assertThat;
@@ -408,21 +407,23 @@ void customFlashMapManagerWithDifferentNameDoesNotReplaceDefaultFlashMapManager(
408407
}
409408

410409
@Test
411-
public void customViewNameTranslatorWithDifferentNameDoesNotReplaceDefaultViewNameTranslator() {
410+
void customViewNameTranslatorWithMatchingNameReplacesDefaultViewNameTranslator() {
412411
this.contextRunner.withBean("viewNameTranslator", CustomViewNameTranslator.class, CustomViewNameTranslator::new)
413412
.run((context) -> {
414-
assertThat(context.getBean("customViewNameTranslator")).isInstanceOf(CustomViewNameTranslator.class);
415-
assertThat(context.getBean("viewNameTranslator")).isInstanceOf(SessionFlashMapManager.class);
413+
assertThat(context).hasSingleBean(RequestToViewNameTranslator.class);
414+
assertThat(context.getBean("viewNameTranslator")).isInstanceOf(CustomViewNameTranslator.class);
416415
});
417416
}
418417

419418
@Test
420-
void customViewNameTranslatorWithDifferentNameReplaceDefaultViewNameTranslator() {
421-
this.contextRunner.withBean("viewNameTranslator", CustomViewNameTranslator.class, CustomViewNameTranslator::new)
422-
.run((context) -> {
423-
assertThat(context).hasSingleBean(RequestToViewNameTranslator.class);
424-
assertThat(context.getBean("viewNameTranslator")).isInstanceOf(CustomViewNameTranslator.class);
425-
});
419+
void customViewNameTranslatorWithDifferentNameDoesNotReplaceDefaultViewNameTranslator() {
420+
this.contextRunner
421+
.withBean("customViewNameTranslator", CustomViewNameTranslator.class, CustomViewNameTranslator::new)
422+
.run((context) -> {
423+
assertThat(context.getBean("customViewNameTranslator")).isInstanceOf(CustomViewNameTranslator.class);
424+
assertThat(context.getBean("viewNameTranslator"))
425+
.isInstanceOf(DefaultRequestToViewNameTranslator.class);
426+
});
426427
}
427428

428429
@Test

0 commit comments

Comments
 (0)