@Test public void methodNameDispatchingControllerWithSuffix() throws Exception { @SuppressWarnings("serial") DispatcherServlet servlet = new DispatcherServlet() { @Override protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent) { GenericWebApplicationContext wac = new GenericWebApplicationContext(); wac.registerBeanDefinition("controller", new RootBeanDefinition(MethodNameDispatchingController.class)); InternalPathMethodNameResolver methodNameResolver = new InternalPathMethodNameResolver(); methodNameResolver.setSuffix("Handle"); RootBeanDefinition adapterDef = new RootBeanDefinition(AnnotationMethodHandlerAdapter.class); adapterDef.getPropertyValues().add("methodNameResolver", methodNameResolver); wac.registerBeanDefinition("handlerAdapter", adapterDef); wac.refresh(); return wac; } }; servlet.init(new MockServletConfig()); MockHttpServletRequest request = new MockHttpServletRequest("GET", "/my.do"); MockHttpServletResponse response = new MockHttpServletResponse(); servlet.service(request, response); assertEquals("myView", response.getContentAsString()); request = new MockHttpServletRequest("GET", "/myOther.do"); response = new MockHttpServletResponse(); servlet.service(request, response); assertEquals("myOtherView", response.getContentAsString()); request = new MockHttpServletRequest("POST", "/myLang.do"); response = new MockHttpServletResponse(); servlet.service(request, response); assertEquals("myLangView", response.getContentAsString()); request = new MockHttpServletRequest("POST", "/mySurprise.do"); response = new MockHttpServletResponse(); servlet.service(request, response); assertEquals("mySurpriseView", response.getContentAsString()); }