Spring MVC 常用注解

目录

基础概念

常用注解介绍


基础概念

1、MVC :代表一种软件架构设计思想,通俗的理解:客户端发送请求到后台服务器的Controller(C),控制器调用Model(M)来处理业务逻辑,处理完成后,返回处理后的数据到View(V)

2、Spring MVC: 是基于MVC设计思想实现的一种框架,它的核心是控制器Controller,所有控制器对象也会被Spring IOC容器管理

3、REST:Representational State Transfer 表述性状态传递,资源在网络中以某种表现形式进行状态转移

4、Restful:基于REST理念形成的一套开发风格,是具体的开发规则,规则示意图如下:

各类客户端发送RestFul风格的API 到后台服务器,服务器只返回数据到各个客户端,至于每种客户端怎么展示数据,由客户端决定。这有别于传统的Web应用,它会返回html(由servlet渲染)并且包含跳转逻辑,引入Rest 开发风格后,这些逻辑由客户端决定。

常用注解介绍

  • @GetMapping 绑定GET请求,注解作用在方法上

  • @PostMapping 绑定Post请求,注解作用在方法上

  • @RequestMapping 通用注解,通常用在Controller上,用于请求URL的前缀

  • @Controller 控制器类,作用在类上,@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面
  • @ResponseBody 作用在方法上,标识返回实体对象,使用此注解后,方法返回的数据会直接写入HTTP响应体中。‌

  • @RestController 作用在类上,此注解相当于 @Controller 和 @ResponseBody 的结合,此注解可以创建RESTful风格的数据,主要有get、post、put、delete等,可以方便地处理输出和输入的JSON或XML数据,适用于前后端分离的架构。
  • @PathVariable ,作用在参数上,将‌URL中的路径参数绑定到方法的参数上

  • @RequestParam,作用在参数上,请求参数

  • @RequestBody,作用在参数上,用于获取请求体的数据,请求体可以放置各类数据(html,字符串,json,xml等)一个请求,只有一个RequestBody,但可以有多个RequestParam

对于每次请求的数据较多,参数较多,建议将请求数据放在http请求体中,多个参数建议封装成一个bean对象接收

  • @CrossOrigin,作用在类或方法上,用于处理跨域资源共享(CORS)问题。通过额外的HTTP头来告诉浏览器允许来自不同源的服务器上的资源被访问。作用在类上,该类中的所有方法都启用跨域支持;作用在方法上,只会使该方法启用跨域支持

Spring MVC中,有一些常用的注解可以用于标记控制器类和处理请求的方法。其中,@Controller是用于标记一个类为Spring MVC的控制器类,但它本身并不能使Spring认识它,真正处理请求的是使用@RequestMapping注解的方法。 另一个常用的注解是@RequestMapping,它用于映射请求的URL到相应的处理器方法上。通过在方法上添加@RequestMapping注解,并指定相应的URL路径,可以将请求映射到对应的方法进行处理。 除了@Controller和@RequestMapping之外,还有一些其他常用的注解。比如,@ResponseBody用于将方法的返回值直接作为响应体返回给客户端,而不进行视图解析。@RequestParam用于获取请求参数的值。@PathVariable用于获取URL路径中的参数值。这些注解可以更灵活地处理请求和响应。 此外,还有一些用于依赖注入的注解,比如@Resource和@Autowired。虽然@Resource不是Spring的注解,但Spring支持该注解的注入。这两个注解可以用于将其他组件或bean注入到控制器或其他类中,以便在其中使用。 综上所述,常用的Spring MVC注解包括@Controller、@RequestMapping、@ResponseBody、@RequestParam、@PathVariable、@Resource和@Autowired。这些注解在Spring MVC框架中起到了不同的作用,可以帮助我们更好地进行请求处理和依赖注入。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [spring mvc常用注解标签](https://blog.csdn.net/XYC3939/article/details/102298463)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [SpringMVC常用注解](https://blog.csdn.net/skyxxy123/article/details/127532094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值