注解,是spring的一大特色,功能十分强大,代码方便快捷。
下面是 spring的 一些常用的注解关键词
@Controller
这个是最基础的 就是把一个 类 设置成一个 控制器.
@RestController
和 @Controller 类似,也是定义一个控制器,可以看成是结合了@ResponseBody与@Controller注解的功能。
这两个定义控制器方式的不同在于 ,两种控制器的返回数据格式不同。
Controller 返回的是jsp页面 可以说是String,而 RestController返回的json / xml 等其他格式的数据,RestController 为一些 Restful webservice 提供了便捷 ,能实现只提供数据的接口。
这两个注解一般放在class 前面,对整个class里面的接口生效。
@RequestMapping
用来 映射请求路径,不多bb,上例子:
1 | // 还可以加其他的参数 |
@PathVariable
从 路径里面取出参数 ,还是上例子比较易懂:
1 | "/test-{id}.htm") (path= |
当 输入地址
1 |
|
在传参数的时候还有一种特殊情况,如果前端传的参数不确定,或者数量多,一个个的指定非常麻烦 ,这时候就用 Map吧
1 |
|
随便你传什么参数 ,我只从map里面取我需要的,没有就取到空 ,也不会报错
@SessionAttributes
这个是使用 session来保存数据的,通常的session的用法是通过 HttpSession 的实例来调用addAttribute() 来保存数据的 ,现在有了@SessionAttributes 便可以在类声明之前就指定 那几个字段需要保存到session:
1 |
|
在这个例子里面, id就被存入了session 而 name则没有被存入。
使用了 SessionAttributes ,在清除session的时候 就需要使用特定的方法:
sessionStatus.setComplete();
这个方法只能清除掉 用SessionAttributes 定义过的字段,其他用HttpSession加入session的字段不会被清除。
1 | "/clearSession.htm") (value= |
@CookieValue
有session 必然就有 Cookie了 , 这个注解就是用来获取cookie里面的参数值的 :
1 | "/getCookie.htm") (value= |
@RequestHeader
同上
1 | "/getReqHead.htm") (value= |
【待补充】
参考