首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@Controller注解和Spring MVC中的Controller类

@Controller注解和Spring MVC中的Controller类
EN

Stack Overflow用户
提问于 2015-04-30 18:03:30
回答 3查看 7.9K关注 0票数 3

当我在使用Spring3.x的同时使用注解时,我很难知道我们将使用这个@Controller引用获取哪种类型的Controller类

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/mvc/Controller.html

这些是实现Controller类

代码语言:javascript
复制
AbstractController
AbstractUrlViewController
MultiActionController
ParameterizableViewController
ServletForwardingController
ServletWrappingController
UrlFilenameViewController
AbstractWizardFormController
SimpleFormController

但是,当我们在Spring MVC程序中使用@Controller注解时,如何知道我们的@Controller注解实现了这些控制器中的任何一个?

EN

回答 3

Stack Overflow用户

发布于 2015-04-30 18:14:19

我认为你没有抓住这一点。在过去,要注册控制器,您的类必须实现控制器接口并选择请求映射类型。有时,您必须实现大量代码才能实现单个请求映射。

如今,当我们有注解时,模型已经改变了。我们可以处理每个控制器类的多个请求类型。因为在单个带@Controller注释的类中,我们可以处理许多请求映射。

控制器注解是一个专门的@Component,它告诉Spring在它里面会找到@RequestMapping处理程序。这些处理程序既可以用于返回Json、HTML,也可以用于上传文件。

现在,与相同模块连接的逻辑可以放在单个控制器类下,您可以更灵活地实现您想要实现的功能。其次,@Controller使我们能够显着减少代码数量。

票数 3
EN

Stack Overflow用户

发布于 2015-04-30 18:14:19

您没有使用这些类中的任何一个。您混淆了Controller接口和注释。

注释只是一个标记,它声明您的bean是一个Spring Controller,可以发送一个接收HTTP请求。http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Controller.html

Controller接口是在Java语言中没有注释时引入的。

票数 2
EN

Stack Overflow用户

发布于 2015-04-30 18:38:49

我们将使用这个@Controller来获取哪种类型的控制器类?

@Controller注释用于告诉web容器这是使用@RequestMapping(URI)指定的urls的请求的控制器类。如果使用@Controller注释类,您将不会获取任何类,您只需要在类中提供一个请求处理程序方法并使用@RequestMapping注释它,尽管控制器类也可以使用@RequestMapping注释,在这种情况下,只有类中的方法才能作为请求处理方法工作。

如何知道我们的@Controller注解实现了这些控制器中的任何一个?

您提到的类的名称实现了 Controller接口,而不是@Controller注释实现了.Those控制器类的特定用途,正如它们的名称所暗示的那样。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29964748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档