二.springMVC常用注解类

来源:互联网 发布:mac版foxmail通讯录 编辑:程序博客网 时间:2024/06/05 23:28

1.RequestMapping 注解类
这里写图片描述
RequestMapping注解类的属性,分别有 value, method, consumes, produces, params, headers

method:(value="/login",method={RequestMethod.POST,RequestMethod.GET})

顾名思义服务器吃得下:

consumes:(value="/login",consumes={"application/json","text/plain"})

处理返回:

produces:(value="/login",produces="text/plain")

请求须含某参数,才触发处理:

params:(value="/login",params="myParam=myValue")

请求头须含某参数,才处理:

(value="/login",headers="content-type=text/*")

Ant风格和带占位符的URL:

/user/*/login:匹配/user/aaa/login,/user/任意字符/login 等/user/**/login:匹配/user/login, /user/aaa/bbb/login 等/user/login??:匹配/user/loginAA, /user/loginbb 等/user/{userId}:匹配/user/123, /user/234/user/**/{userId}:匹配/user/aaa/bbb/123,/user/aaa/234

2.四大注解类 Component、Controller、Service、Repository,可带一个参数,代bean名字,注入时可通过名字注入:
这里写图片描述
@Autowired默认按类型装配,依赖对象须存在,如果允许null,可设required属性为false,如果按名字则结合@Qualifier
这里写图片描述
@Autowired:默认名称装配,名称可通过name属性指定,如果注解写在setter方法上默认取属性名进行装配。
这里写图片描述
@Component 是通用标注,为逻辑清晰,还是建议具体点好
@Controller 标注 web 控制器
@Service 标注 Servicec 层的服务
@Respository 标注 DAO 层的数据访问
3.其他注解类
PathVariable注解类 :注解使用占位符,获取请求中参数传入

RequestParam注解类:获取jsp传过来的参数

CookieValue注解类:读取cookies值,赋值给变量,有三属性:value,required,defaultValue

SessionAttributes注解类:个人觉得不如request.getSession()好用

ResponseBody注解类:方法上面ResponseBody。@Controller方法返回对象适当HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区,返回如json,xml等时使用。springmvc配置文件通过,给AnnotationMethodHandlerAdapter初始化7个转换器
这里写图片描述
RequestHeader注解类:可把Request请求header部分的值绑定到方法的参数
这里写图片描述
附注:
ModelMap map可放在方法参数中,然后把javabean存进去:map.put(“user”, user);

//方法可能抛出的异常捕获后存到request对象中try {            User user = service.doLogin(username, password);             map.put("user", user);        } catch (Exception e) {            request.setAttribute("error", e.getMessage());            return "/WEB-INF/jsp/login.jsp";        }        //jsp页面获取error对象中的错误信息<p style="color: red;">                ${error }            </p>
0 0