我正在从Spring 4.1.4迁移到Spring 5,并在配置问题上苦苦挣扎。
我有什么: 在web.xml中
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/auth">authController</prop>
...
</property>
</bean>
在控制器中:
<bean id="authController" class="com.my.AuthController">
<property name="someProperty" ref="123123"/>
</bean>
AuthController.java:
public class AuthController {
@RequestMapping(method = RequestMethod.OPTIONS)
public void doOptions(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
//code here
}
@GetMapping
public ModelAndView authorize(
HttpSession session,
HttpServletRequest request,
HttpServletResponse response,
Map<String, Object> model){
//code here
}
所以我不断收到错误No Handler Adapter for AuthController
如果我启用<mvc:annotation-driven/>
或
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
我收到重复的bean异常。这是因为我有很多由xml初始化的控制器bean(没有编写实际的Java代码),并且基于其中包含@RequestMapping
的一些通用类。
有没有一种方法可以结合这两种方法并同时使用url映射和请求映射注释?
谢谢。