springmvc框架开发常用的注解总结
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;
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 【CCF】线性分类器
- 计数二进制子串
- 6个实例详解如何把if-else代码重构成高质量代码
- leetcode201场周赛
- ASP.NET MVC+LayUI视频上传
- Linux执行tar解压报错tar: Error is not recoverable: exiting now
- elasticSearch学习(四)
- 在美帝的服务器的prefetch和aspera下载比较
- 全面介绍eBPF-概念
- 在ubuntu20上面安装R4
- 冷饭新炒:理解Snowflake算法的实现原理
- Python基础之算数运算符
- 一文带你领略并发编程的内功心法
- HBase监控
- CVPR19-Deep Stacked Hierarchical Multi-patch Network for Image Deblurring