现在的位置: 首页 > 综合 > 正文

常用的springmvc注解有哪些

2020年01月06日 综合 ⁄ 共 1674字 ⁄ 字号 评论关闭

  SpringMVC 是类似于 Struts2 的一个 MVC 框架,在实际开发中,接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示,但是上手难度却比 Struts2 简单多了。而且由于 Struts2 所暴露出来的安全问题,SpringMVC 已经成为了大多数企业优先选择的框架。

  在springMVC中有许多封装好的注解,使用这些注解能够简化我们的开发。

  常用的springmvc注解

  1、@Controller

  @Controller用于标记在一个类上,使用它标记的类就是一个SpringMVCController对象。分发处理器将会扫描使用了该注解的类的 方法,并检测该方法是否使用了@RequestMapping 注解。@Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是真正处理请求的处理器。单单使用 @Controller标记在一个类上还不能真正意义上的说它就是SpringMVC的一个控制器类,因为这个时候Spring还不认识它。那么要如何做 Spring才能认识它呢?这个时候就需要我们把这个控制器类交给Spring来管理。有两种方式:

  (1)在SpringMVC 的配置文件中定义MyController 的bean 对象。

  (2)在SpringMVC 的配置文件中告诉Spring 该到哪里去找标记为@Controller 的Controller 控制器。

  2、@RequestMapping

  RequestMapping注解有六个属性,下面我们把它分成三类进行说明

  (1)value,method

  value:指定请求的实际地址,指定的地址可以是URI Template模式;

  method:指定请求的method类型, GET、POST、PUT、DELETE等;

  value的uri值可以为以下三类:普通的具体值;含有某变量的一类值;含有正则表达式的一类值;

  (2)consumes,produces

  consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

  produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;

  (3)params,headers

  params:指定request中必须包含某些参数值时,才让该方法处理。

  headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。

  3、@Resource和@Autowired

  @Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入,两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。

  4、@PathVariable

  用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。

  5、@ResponseBody

  作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

  使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用

  6、@RestController

  我们经常见到一些控制器实现了REST的API,只为服务于JSON,XML或其它自定义的类型内 容,@RestController用来创建REST类型的控制器,与@Controller类型。@RestController就是这样一种类型,它 避免了你重复的写@RequestMapping与@ResponseBody。

  以上就是springmvc注解是什么的详细内容,更多请关注学步园。

抱歉!评论已关闭.