@RequestMapping为@Component Bean

时间:2013-03-11 18:35:12

标签: spring jsp java-ee spring-mvc

只是一个简单的问题。 @RequestMapping仅适用于@Controller个类。我正在尝试使用@Component在我的应用程序中映射@RequestMapping bean,并且它总是抛出 noHandlerFound找不到带有URI的HTTP请求的映射

1 个答案:

答案 0 :(得分:4)

非常正确,您只能在@RequestMapping注释类上使用@Controller。来自@Controller类的javadoc

  

基本控制器接口,表示接收HttpServletRequest和HttpServletResponse实例的组件,就像HttpServlet一样[...]

此外,@Controller 扩展 @Component bean,javadoc

  

[@Component]表示带注释的类是“组件”。在使用基于注释的配置和类路径扫描时,此类被视为自动检测的候选者。

换句话说,@Component(及其子注释@Controller)是使类成为Spring bean的原因,但只有@Controller注释处理@RequestMapping和其他与HTTP相关的操作。

Spring reference documentation中有关于构造型注释的更多信息。