SpringMVC 是类似于 Struts2 的一个 MVC 框架,在实际开发中,接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示,但是上手难度却比 Struts2 简单多了。而且由于 Struts2 所暴露出来的安全问题,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注解是什么的详细内容。更多信息请关注PHP中文网其他相关文章!