springMVC 5种常用注解
整理自:https://www.jb51.net/article/166604.htm
一.组件型注解:
- @Component 在类定义前加上@Component注解,他会被spring容器识别,并转化为Bean。
- @Repository 对Dao实现层进行注解(特殊的@Component)。
- @Service 用于对业务逻辑层进行注解(特殊的Component)。
- @Controller 用于控制层注解(特殊的Component)。
以上四种都是注解在类上的,被注解的类将被spring初始化为一个Bean,然后统一管理。
二.请求和参数型注解
- @RequestMapping:用于处理请求地址的映射,作用于类和方法上。
- value:定义request请求的映射地址。
- params:定义request请求中必须包含的参数值
- method:定义地request址请求的方式,包括【GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE.】默认接受get请求,如果请求方式和定义的方式不一样则请求无法成功。
- headers:定义request请求中必须包含某些指定的请求头,如:RequestMapping(value = “/something”, headers = “content-type=text/*”)说明请求中必须要包含"text/html", "text/plain"这中类型的Content-type头,才是一个匹配的请求。
- consumes:定义请求提交内容的类型。
- products:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
@RequestMapping(value="/requestTest.do",params = {
"name=sdf"},headers = {
"Accept-Encoding=gzip, deflate, br"},method = RequestMethod.GET)
public String getIndex(){
System.out.println("请求成功");
return "index";
}
上面代码表示请求的方式为GET请求,请求参数必须包含name=sdf这一参数,然后请求头中必须有 Accept-Encoding=gzip, deflate, br这个类型头。
这样通过注解就能对一个请求进行约束了。
- @RequestParam:用于获取传入参数的值
- value:参数的名称
- required:定义传入的参数是否必须,默认为false。
@RequestMapping("/requestParams1.do")