zoukankan      html  css  js  c++  java
  • 注解的区别

    @RequestParam 用于controller层,是Spring的注解

    解决前台参数名称与后台接收参数变量名称不一致的问题,等价于request.getParam

    • value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的name为username的参数的值将传入;

    • required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;

    • defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式,如“#{systemProperties['java.vm.version']}”。

        @ResponseBody
        @RequestMapping("login")
        public String login(@RequestParam(value = "username") final String username,
                            @RequestParam(value = "password",required = false) final String password,
                            @RequestParam(value = "valcode",required = false) final String valcode) {
                            }                   

    @Param 用于dao层,是mybatis中的注解

    使得mapper.xml中的参数与后台的参数对应上,也增强了可读性

    如果两者参数名一致得话,spring会自动进行封装,不一致的时候就需要手动去使其对应上。
    即:用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 。

    public interface Mapper { 
       
    @Select("select s_id id,s_name name,class_id classid"+ 
            "from student where  s_name= #{aaaa} and class_id = #{bbbb}") 
     public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id);  
       
    @Delete...... 
           
    @Insert...... 
        
    }



    @requestBody注解的使用

      1、@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。

      2、

        通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然,也可以将其分别绑定到对应的字符串上。
        例如说以下情况:
        $.ajax({
            url:"/login",
            type:"POST",
            data:'{"userName":"admin","pwd","admin123"}',
            content-type:"application/json charset=utf-8",
            success:function(data){
              alert("request success ! ");
            }
        });

        @requestMapping("/login")
        public void login(@requestBody  User user ){
          System.out.println(user.get( userName)+" :"+user.get( pwd));
        }
        这种情况是将JSON字符串中的两个变量的值赋予给了一个User对象,拥有如下字段:
          String userName;
          String pwd;
        这种形式会将JSON字符串中的值赋予user中对应的属性上
        需要注意的是,JSON字符串中的key必须对应user中的属性名,否则是请求不过去的。







  • 相关阅读:
    3月14日进度博客
    构建之法阅读笔记01
    课堂练习-全国疫情统计3
    课堂练习-全球疫情统计2
    课堂练习-全国疫情统计1
    跟我一起写 Makefile(五)
    跟我一起写 Makefile(四)
    跟我一起写 Makefile(三)
    跟我一起写 Makefile(二)
    跟我一起写 Makefile(一)
  • 原文地址:https://www.cnblogs.com/lndbky/p/13677741.html
Copyright © 2011-2022 走看看