From adccc13c322a8c1be3e811bf6d6586dac9010eff Mon Sep 17 00:00:00 2001 From: slavisa-baeldung Date: Sun, 8 Jan 2017 16:46:47 +0100 Subject: [PATCH] BAEL-97 - simplifying code --- .../HandlerMappingCustomPrioritiesConfig.java | 43 +++++++++++++++ .../HandlerMappingPrioritiesConfig.java | 30 +++-------- ...HandlerMappingPrioritiesConfigNoOrder.java | 54 +++++++++++++++++++ ... => BeanNameHandlerMappingController.java} | 4 +- ...r.java => SimpleUrlMappingController.java} | 4 +- .../BeanNameMappingConfigTest.java | 2 +- ...ControllerClassNameHandlerMappingTest.java | 2 +- .../HandlerMappingPriorityConfigTest.java | 16 +++--- .../SimpleUrlMappingConfigTest.java | 2 +- 9 files changed, 120 insertions(+), 37 deletions(-) create mode 100644 spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingCustomPrioritiesConfig.java create mode 100644 spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingPrioritiesConfigNoOrder.java rename spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/{TestController.java => BeanNameHandlerMappingController.java} (74%) rename spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/{BaeldungController.java => SimpleUrlMappingController.java} (74%) rename spring-mvc-java/src/test/java/com/baeldung/{HandlerMapping => handlermappings}/BeanNameMappingConfigTest.java (97%) rename spring-mvc-java/src/test/java/com/baeldung/{HandlerMapping => handlermappings}/ControllerClassNameHandlerMappingTest.java (97%) rename spring-mvc-java/src/test/java/com/baeldung/{HandlerMapping => handlermappings}/HandlerMappingPriorityConfigTest.java (89%) rename spring-mvc-java/src/test/java/com/baeldung/{HandlerMapping => handlermappings}/SimpleUrlMappingConfigTest.java (97%) diff --git a/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingCustomPrioritiesConfig.java b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingCustomPrioritiesConfig.java new file mode 100644 index 0000000000..6545d1ec2d --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingCustomPrioritiesConfig.java @@ -0,0 +1,43 @@ +package com.baeldung.spring.web.config; + +import com.baeldung.web.controller.handlermapping.BeanNameHandlerMappingController; +import com.baeldung.web.controller.handlermapping.SimpleUrlMappingController; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping; +import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping; + +import java.util.HashMap; +import java.util.Map; + + +@Configuration +public class HandlerMappingCustomPrioritiesConfig { + + @Bean + BeanNameUrlHandlerMapping beanNameUrlHandlerMapping() { + BeanNameUrlHandlerMapping beanNameUrlHandlerMapping = new BeanNameUrlHandlerMapping(); + beanNameUrlHandlerMapping.setOrder(0); + return beanNameUrlHandlerMapping; + } + + @Bean + public SimpleUrlHandlerMapping simpleUrlHandlerMapping() { + SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping(); + Map urlMap = new HashMap<>(); + urlMap.put("/welcome", simpleUrlMapping()); + simpleUrlHandlerMapping.setUrlMap(urlMap); + simpleUrlHandlerMapping.setOrder(1); + return simpleUrlHandlerMapping; + } + + @Bean + public SimpleUrlMappingController simpleUrlMapping() { + return new SimpleUrlMappingController(); + } + + @Bean("/welcome") + public BeanNameHandlerMappingController beanNameHandlerMapping() { + return new BeanNameHandlerMappingController(); + } +} \ No newline at end of file diff --git a/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingPrioritiesConfig.java b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingPrioritiesConfig.java index 07d32d35df..da54e5fc98 100644 --- a/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingPrioritiesConfig.java +++ b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingPrioritiesConfig.java @@ -3,14 +3,13 @@ package com.baeldung.spring.web.config; import java.util.HashMap; import java.util.Map; -import com.baeldung.web.controller.handlermapping.BaeldungController; -import com.baeldung.web.controller.handlermapping.TestController; +import com.baeldung.web.controller.handlermapping.SimpleUrlMappingController; +import com.baeldung.web.controller.handlermapping.BeanNameHandlerMappingController; import com.baeldung.web.controller.handlermapping.WelcomeController; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping; import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping; -import org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping; @Configuration @@ -19,7 +18,7 @@ public class HandlerMappingPrioritiesConfig { @Bean BeanNameUrlHandlerMapping beanNameUrlHandlerMapping() { BeanNameUrlHandlerMapping beanNameUrlHandlerMapping = new BeanNameUrlHandlerMapping(); - beanNameUrlHandlerMapping.setOrder(2); + beanNameUrlHandlerMapping.setOrder(0); return beanNameUrlHandlerMapping; } @@ -27,31 +26,18 @@ public class HandlerMappingPrioritiesConfig { public SimpleUrlHandlerMapping simpleUrlHandlerMapping() { SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping(); Map urlMap = new HashMap<>(); - urlMap.put("/welcome", test()); + urlMap.put("/welcome", simpleUrlMapping()); simpleUrlHandlerMapping.setUrlMap(urlMap); - simpleUrlHandlerMapping.setOrder(0); return simpleUrlHandlerMapping; } @Bean - public ControllerClassNameHandlerMapping controllerClassNameHandlerMapping() { - ControllerClassNameHandlerMapping bean = new ControllerClassNameHandlerMapping(); - bean.setOrder(1); - return bean; + public SimpleUrlMappingController simpleUrlMapping() { + return new SimpleUrlMappingController(); } @Bean("/welcome") - public BaeldungController welcomeBaeldungController() { - return new BaeldungController(); - } - - @Bean - public TestController test() { - return new TestController(); - } - - @Bean - public WelcomeController welcomeController() { - return new WelcomeController(); + public BeanNameHandlerMappingController beanNameHandlerMapping() { + return new BeanNameHandlerMappingController(); } } \ No newline at end of file diff --git a/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingPrioritiesConfigNoOrder.java b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingPrioritiesConfigNoOrder.java new file mode 100644 index 0000000000..d4cc30918e --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/HandlerMappingPrioritiesConfigNoOrder.java @@ -0,0 +1,54 @@ +package com.baeldung.spring.web.config; + +import com.baeldung.web.controller.handlermapping.SimpleUrlMappingController; +import com.baeldung.web.controller.handlermapping.BeanNameHandlerMappingController; +import com.baeldung.web.controller.handlermapping.WelcomeController; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping; +import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping; +import org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping; + +import java.util.HashMap; +import java.util.Map; + + +@Configuration +public class HandlerMappingPrioritiesConfigNoOrder { + + @Bean + public SimpleUrlHandlerMapping simpleUrlHandlerMapping() { + SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping(); + Map urlMap = new HashMap<>(); + urlMap.put("/welcome", test()); + simpleUrlHandlerMapping.setUrlMap(urlMap); + return simpleUrlHandlerMapping; + } + + @Bean + public ControllerClassNameHandlerMapping controllerClassNameHandlerMapping() { + ControllerClassNameHandlerMapping bean = new ControllerClassNameHandlerMapping(); + return bean; + } + + @Bean + BeanNameUrlHandlerMapping beanNameUrlHandlerMapping() { + BeanNameUrlHandlerMapping beanNameUrlHandlerMapping = new BeanNameUrlHandlerMapping(); + return beanNameUrlHandlerMapping; + } + + @Bean("/welcome") + public SimpleUrlMappingController welcomeBaeldungController() { + return new SimpleUrlMappingController(); + } + + @Bean + public BeanNameHandlerMappingController test() { + return new BeanNameHandlerMappingController(); + } + + @Bean + public WelcomeController welcomeController() { + return new WelcomeController(); + } +} \ No newline at end of file diff --git a/spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/TestController.java b/spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/BeanNameHandlerMappingController.java similarity index 74% rename from spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/TestController.java rename to spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/BeanNameHandlerMappingController.java index 0f94321168..c40165f842 100644 --- a/spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/TestController.java +++ b/spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/BeanNameHandlerMappingController.java @@ -6,10 +6,10 @@ import org.springframework.web.servlet.mvc.AbstractController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -public class TestController extends AbstractController { +public class BeanNameHandlerMappingController extends AbstractController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { - ModelAndView model = new ModelAndView("test"); + ModelAndView model = new ModelAndView("bean-name-handler-mapping"); return model; } diff --git a/spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/BaeldungController.java b/spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/SimpleUrlMappingController.java similarity index 74% rename from spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/BaeldungController.java rename to spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/SimpleUrlMappingController.java index 363fa74b66..7732830d07 100644 --- a/spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/BaeldungController.java +++ b/spring-mvc-java/src/main/java/com/baeldung/web/controller/handlermapping/SimpleUrlMappingController.java @@ -6,10 +6,10 @@ import org.springframework.web.servlet.mvc.AbstractController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -public class BaeldungController extends AbstractController { +public class SimpleUrlMappingController extends AbstractController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { - ModelAndView model = new ModelAndView("baeldung"); + ModelAndView model = new ModelAndView("simple-url-handler-mapping"); return model; } diff --git a/spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/BeanNameMappingConfigTest.java b/spring-mvc-java/src/test/java/com/baeldung/handlermappings/BeanNameMappingConfigTest.java similarity index 97% rename from spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/BeanNameMappingConfigTest.java rename to spring-mvc-java/src/test/java/com/baeldung/handlermappings/BeanNameMappingConfigTest.java index f2e78c3309..628fd57e8c 100644 --- a/spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/BeanNameMappingConfigTest.java +++ b/spring-mvc-java/src/test/java/com/baeldung/handlermappings/BeanNameMappingConfigTest.java @@ -1,4 +1,4 @@ -package com.baeldung.handlermapping; +package com.baeldung.handlermappings; import com.baeldung.spring.web.config.BeanNameUrlHandlerMappingConfig; import org.junit.Before; diff --git a/spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/ControllerClassNameHandlerMappingTest.java b/spring-mvc-java/src/test/java/com/baeldung/handlermappings/ControllerClassNameHandlerMappingTest.java similarity index 97% rename from spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/ControllerClassNameHandlerMappingTest.java rename to spring-mvc-java/src/test/java/com/baeldung/handlermappings/ControllerClassNameHandlerMappingTest.java index 79dd8513a1..e81b46f817 100644 --- a/spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/ControllerClassNameHandlerMappingTest.java +++ b/spring-mvc-java/src/test/java/com/baeldung/handlermappings/ControllerClassNameHandlerMappingTest.java @@ -1,4 +1,4 @@ -package com.baeldung.handlermapping; +package com.baeldung.handlermappings; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; diff --git a/spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/HandlerMappingPriorityConfigTest.java b/spring-mvc-java/src/test/java/com/baeldung/handlermappings/HandlerMappingPriorityConfigTest.java similarity index 89% rename from spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/HandlerMappingPriorityConfigTest.java rename to spring-mvc-java/src/test/java/com/baeldung/handlermappings/HandlerMappingPriorityConfigTest.java index aa48f02c09..3157209a73 100644 --- a/spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/HandlerMappingPriorityConfigTest.java +++ b/spring-mvc-java/src/test/java/com/baeldung/handlermappings/HandlerMappingPriorityConfigTest.java @@ -1,10 +1,7 @@ -package com.baeldung.handlermapping; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; +package com.baeldung.handlermappings; +import com.baeldung.spring.web.config.HandlerMappingCustomPrioritiesConfig; +import com.baeldung.spring.web.config.HandlerMappingPrioritiesConfig; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -17,7 +14,10 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; -import com.baeldung.spring.web.config.HandlerMappingPrioritiesConfig; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @@ -36,6 +36,6 @@ public class HandlerMappingPriorityConfigTest { @Test public void whenConfiguringPriorities_thenMappedOK() throws Exception { - mockMvc.perform(get("/welcome")).andExpect(status().isOk()).andExpect(view().name("test")).andDo(print()); + mockMvc.perform(get("/welcome")).andExpect(status().isOk()).andExpect(view().name("bean-name-handler-mapping")).andDo(print()); } } \ No newline at end of file diff --git a/spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/SimpleUrlMappingConfigTest.java b/spring-mvc-java/src/test/java/com/baeldung/handlermappings/SimpleUrlMappingConfigTest.java similarity index 97% rename from spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/SimpleUrlMappingConfigTest.java rename to spring-mvc-java/src/test/java/com/baeldung/handlermappings/SimpleUrlMappingConfigTest.java index 847b00323b..29420b155f 100644 --- a/spring-mvc-java/src/test/java/com/baeldung/HandlerMapping/SimpleUrlMappingConfigTest.java +++ b/spring-mvc-java/src/test/java/com/baeldung/handlermappings/SimpleUrlMappingConfigTest.java @@ -1,4 +1,4 @@ -package com.baeldung.handlermapping; +package com.baeldung.handlermappings; import com.baeldung.spring.web.config.SimpleUrlHandlerMappingConfig; import org.junit.Before;