1、@Controller使用:表示表现层中的JavaBean被spring容器管理。
2、@requestMapping使用:
a) 在方法上: 标记url到请求方法的映射, 就相当于从一个url找到对应需要访问的controller层的方法
b) 用在类上: 窄化请求映射, 就是相当于在url上加了一层目录,防止你和你同事起的请求url地址重名
c) 限制请求的类型:
如果限制请求的类型, 访问的时候如果类型不匹配会报405错误
@RequestMapping(value="/list", method=RequestMethod.POST)
3、@RequestBody表示可以将前台传递过来的json格式的字符串自动封装到pojo对象中,但是要求json字符串中的key名称必须和pojo对象中的属性名称保持一致。
4、@ResponseBody表示可以将controller方法返回的pojo对象自动转换成json格式的字符串响应给浏览器。
5、@PathVariable表示使用RESTful风格发送URL请求时,专门用于接受占位符传递过来的值。
1 //使用RESTful风格传送参数 2 @RequestMapping("/item/{itemId}") 3 @ResponseBody //该注解是将返回的对象转成json格式的数据响应 4 //注解@PathVariable表示接受占位符传递过来的值 5 public TbItem queryItemById(@PathVariable Long itemId){ 6 return itemService.queryItemById(itemId); 7 }
6、@RequestParam的使用:
第一种方式:@RequestParam(defaultValue="1")表示设置controller方法上形参的默认值,通常用于在分页时设置当前页数的默认值为1,因为页面第一次访问时当前页数page变量的值null。
1 /** 2 * 分页查询广告内容表中的数据: 3 * @param page:当前页数 4 * @param rows:每页显示的记录数 5 * @param categoryId:默认展示内容类目为0的记录 6 * @return 7 */ 8 @RequestMapping("/query/list") 9 @ResponseBody 10 //@RequestParam(defaultValue="1")表示默认当前页数为第一页 11 public DatagridResult queryContentList(@RequestParam(defaultValue="1") Integer page,Integer rows,Long categoryId){ 12 13 return contentService.queryContentList(page, rows, categoryId); 14 }
第二种方式:@RequestParam(value="id",defaultValue="0")表示设置controller方法上形参变量的值是通过value属性的变量(id)赋值的,通过defaultValue属性设置默认值。
7、@Value("${imageServerURL}")表示引用资源文件中的值。
1 //提取常量: 2 @Value("${AD1_CATEGORY_ID}") 3 private Long AD1_CATEGORY_ID; 4 @Value("${AD1_HEIGHT}") 5 private Integer AD1_HEIGHT; 6 @Value("${AD1_HEIGHTB}") 7 private Integer AD1_HEIGHTB; 8 @Value("${AD1_WIDTH}") 9 private Integer AD1_WIDTH; 10 @Value("${AD1_WIDTHB}") 11 private Integer AD1_WIDTHB;