我有一个非常烦人的问题......我没有定义控制器处理程序映射器,因此我正在使用DefaultAnnotationHandlerMapping
该类。我的问题似乎与控制器 bean 名称映射到控制器类有关,例如
对调度程序的传入请求 -> index.htm
使用以下控制器类:
@Controller
public class IndexController {
@RequestMapping(value = "/index.htm", method = RequestMethod.GET)
public String loginForm(ModelMap model) {
return "index";
}
}
应该将 index.htm 映射到 indexController bean,然后映射到 IndexController 类。我可以从日志中看到 Spring 已将 bean 注册到容器中,但是我收到以下错误:
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [xxx.controller.IndexController]
我确定该类存在(因为 bean 名称是从它派生的)。
奇怪的是,如果我将控制器命名为与 bean 名称相同的名称(例如 indexController),一切都很好!(显然我不希望我的班级有一个小写的首字母!!)
请注意,我在 dispatcher-servlet.xml 中使用了以下内容:
<mvc:annotation-driven />
<context:component-scan base-package="xxx" />
爱