Stereotype 特性最早出现在J2EE6 中,可以理解为围绕着 “元数据” 功能而发展出来的一种设计模式。 这个注解提示人们在阅读代码的时候了解 Spring 实现的功能和扮演的特定的角色。 在这个类中,我们告诉 Spring 是一个 Web 的 @Controller
,因此 Spring 会通过这个注解来考虑这个类用于处理访问的 Web 请求。
@RequestMapping
注解,为我们的应用提供了 “routing” 信息。在这里的 routing 可以理解为路径,在我们访问 Web 资源的时候都会要求提供一个路径的信息。 具体有关这个注解的解释为任何 HTTP 的请求,如果使用了 /
路径的话,所有的请求将会映像到 home
方法,或者可以理解为 home
方法 将会被执行。
@RestController
注解将会告诉 Spring 将返回的结果使用 String 字符串来进行渲染,然后将渲染的结果返回给调用者。
@Controller 和 @RestController 之间有什么区别? 非常简单来说 @RestController
是一个特殊版本的 controller。是由 @Controller
和 @ResponseBody
2 个注解合并而成的。 在没有 @RestController
注解之前,你可以使用 @Controller
,同时你还需要使用 @ResponseBody
注解来确定返回的内容是什么。设计 @RestController
的目的主要也是为了针对目前越来越流行的微服务和 Rest API 的开发来设计的。
@RestController
和 @RequestMapping
注解都是 Spring MVC 中的注解(这 2 个注解是没有在 Spring Boot 中指定的)。 请参考 Spring 参考文档中的 MVC 部分 来获得更多的有关信息。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!