ssm框架中的各种注解使⽤(慢慢补充)
1、@Controller、@Service、@Component注解,都相当于是配置了⼀个bean标签,分别应⽤于控制层,服务层,第三个都可以使⽤(在不知道属于哪层的时候使⽤)
2、@RequestMapping 该注解描述请求路径和当前⽅法的映射
属性value -- 代表当前⽅法处理的请求路径地址,假设为@RequestMapping(“/login”),会默认发布三个映射地址,分别
是/login,/login.*,/login/。
属性method -- 定义⽅法处理的请求⽅式,如果请求⽅式不⽀持,则页⾯报405错误,提⽰请求⽅式不⽀持,method是RequestMethod[]类型的属性,在注解中使⽤{}定义数组数据
属性produces – 设置响应类型 只在服务⽅法返回类型为字符串,并提供ResponseBody注解时⽣效
@RequestMapping(value=”/login”,method={RequestMethod.GET},produces=”application/json;charset=UTF-8”)
3、@RequestParam 该注解处理不友好的请求参数
属性value – 请求参数的名称,没有默认值(该名称为页⾯中的name)
属性defaultValue– 如果没有传递请求参数,使⽤什么默认值
属性required – 是否是⼀个必要的请求参数,默认值是true,如果必要参数没有传递,
页⾯显⽰400错误,是请求错误
@RequestParam(value=”TXT_PWD”,defaultValue=”123123”,required=”true”)Stringpassword
4、@PathVariable 获取restful风格传参定义的变量数据
属性value – ⽤于设置变量命名,如果变量名和⽅法参数名⼀致,可以省略
Restful风格传参 @RequestMapping(“/testRestful/{username}/{password}”)
@PathVariable(@PathVariable(“username”)Stringusername,@PathVariable String password)
5、@ResponseBody 实现异步访问的json数据返回
6、@Param ⼀般⽤在mapper层,简单类型(⼋种基本数据类型+包装类+String)传值的时候,会忽略占位符个数和命名,传给所有的占位符,使⽤@param注解,可以构建⼀个key-value键值对
ssm框架简单吗
属性value --- 创建的键值对的key
如:@Param(value="key")String value
7、读取properties配置⽂件的时候,如果是写在其他配置⽂件中,如:l⽂件中配置datasource时读取properties⽂件,value中直接使⽤${key}格式,如:<property name=“url” value="${mysql.url}">(mysql.url为properties⽂件中的⼀个key值,使⽤之前需要先读取该properties⽂件,需要注意的是读取的properties⽂件只在当前容器中有效<context:property-placeholder location="classpath:com/cms/config/commons/db.properties">)
如果是在java⽂件中需要使⽤到properties中配置的信息(如:serviceImpl⽂件中),前提是当前容器已经读取properties⽂件,使⽤标签来读取value值 格式为 @Value("${key}") 如: @Value("${FTP_HOST}")
8、@JsonProperty 将对象转换成json字符串的时候,对应的key值,使⽤注解中的value属性值
结果为{"name":"张三"} 注解是jackson包提供
9、@RequestBody 将json格式的请求参数转化成java对象,需要注意的是,json对象的中key必须是java对象中的属性,否则传不过去 public Object login(@RequestBody User user){}
个⼈笔记,不对的望指教,谢谢
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论