SpringMVC开发常用注解

使用SpringMVC进行开发有多种方式但是在项目中我们经常使用注解形式开发

1.用于声明的注解@Controller

@Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是真正处理请求的处理器。
仅使用@Controller标记在一个类上还不能真正意义上的说它就是SpringMVC的一个控制类,因为这个时候Spring还不认识它。有了这些注解是不够的,我们需要告诉我们的程序应该去哪里找我们的Controller,这也就是告诉他要扫描我们的那些包:

<!--方式一-->
<bean class="com.host.app.web.controller.MyController"/>
<!--方式二-->

@RestController相当于@Controller+@ResponseBody注解,使用了这个注解的类可以看作这个类下面所有的方法都标记了@ResponseBody注解,这样的话写入的数据会直接进入响应视图。
@ResponseBody的作用其实是将java对象转为json格式的数据
@RepsonseBody注解的作用是将controller的方法返回的对象 通过适当的转换器转换为指定的格式后,写入到response对象的body区,通常用来返回JSON或是XML数据
@ResponseBody是作用在方法上的,@ResponseBody表示该方法的返回结果直接写入HTTP response body 中,一般在异步获取数据时使用,也就是AJAX
注:在使用@RequestMapping后,返回值通常解析为跳转路径,但是加上@ResponseBody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中

2.用于匹配请求路径与具体处理方法的@RequestMapping

(1)@RequestMapping注解可以用来匹配所有类型的请求

在这里插入图片描述(2)使用不同的匹配规则可以匹配不同的请求路径,同时我们还可以利用@PathVariable的注解实现ResultFul的编程风格
那么什么是ResultFul的编程风格呢?
什么是REST?
REST是Representational State Transfer的缩写,译为表现层状态转换,restFul是一种接口设计风格,它不是一个协议,通常是基于HTTP协议的
RESTful的重点之一就是统一的接口命名规则
RESTful风格:
rest将每一个URI都看作一个资源,这是一个概念,实际可以是一个图片,一条记录,一组记录都可以;每一种请求方法都对应着对某个资源的操作,通常包含以下四种:

  • GET(SELECT):从服务器查询,可以在服务器通过请求的参数区分查询的方式。
  • POST(CREATE):在服务器新建一个资源,调用INSERT操作。
  • PUT(UPDATE):在服务器更新资源,调用UPDATE操作。
  • PATCH(UPDATE):在服务器更新资源,客户端提供改变的属性。
  • DELETE(DELETE):从服务器删除资源,调用DELETE语句。
    了解这个风格定义后,我们举个例子:
    如果当前url是http://localhost:8080/User,那么用户只要请求这样同一个URL就可以实现不同的增删改查操作,例如:
http://localhost:8080/User?_method=get&id=1001 这样就可以通过get请求获取到数据库user表里面id=1001的用户信息
http://localhost:8080/User?_method=post&id=1001&name=zhangsan 这样可以想数据库user表里面插入一条记录
http://localhost:8080/User?_method=put&id=1001&name=lisi 这样可以将user表里面id=1001的用户名改为lisi
http://localhost:8080/User?_method=delete&id=1001 这样可以将数据库user表里面的id=1001的信息删除

3.用于数据接收的注解@RequestBody、@RequestParam

@RequestBody注解主要是用来接受请求体中的数据
在我们常见的post、get请求中只有post请求有请求体

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值