• springboot部分常用注解



    目录:【持续更新。。。。。】
      
      spring 部分常用注解
      spring boot 学习之路1(简单入门)
      spring boot 学习之路2(注解介绍)
      spring boot 学习之路3( 集成mybatis )
      spring boot 学习之路4(日志输出)
      spring boot 学习之路5(打成war包部署tomcat)
      spring boot 学习之路6(定时任务)
      spring boot 学习之路6(集成durid连接池)
      spring boot 学习之路7(静态页面自动生效问题)
      spring boot 学习之路8 (整合websocket(1))
      spring boot 学习之路9 (项目启动后就执行特定方法)

    1. @RestController 和@Controller

    控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后,返回给前台页面
    @Controller 的作用 :声明这是一个controller类,然后使用@RequestMapping ,@ResponseBody等一些注解用以定义URL 请求和Controller 方法之间的映射,使Controller 被前端访问。
    @Controller
    public class AnnotController {
      @ResponseBody
      @RequestMapping("/hello")
      public String hello() {
        return "Hello huhy";
      }
    }
    @RestController : 从spring4.0版本开始出现.看下图的官方解释,会发现,@RestController 其实已经包含了@Controller 和@ResponseBody ,会默认使用@ResponseBody(可以参考spring boot语法)
    @RestController
    public class AnnotController{   
    @RequestMapping("/hello")  
     public String hello() {
        return "Hello huhy";  
     }
    }
    注意 : 其中@ResponseBody会处理返回的数据格式,使用了该类型注解后返回的不再是视图,不会进行转跳,而是返回json或xml数据格式,输出在页面上。
    如果在类上使用@Controller注解, 可以在需要的方法上单独添加@ResponseBody ,而使用@RestController相当于在所有的方法上都默认使用了@ResponseBody注解
     
    2. @RequestParam(?传值) @RequestBody(指定返回的结果以json或者xml形式) @PathVariable(地址栏传参,常见的是restful风格) 常用参数绑定注解
    ①@PathVariable 直接通过URL传参时使用,URL形式:http://localhost:port/path/参数
     
    @RestController
    @RequestMapping("demoAnnot")
    public class testController {
        @RequestMapping(value = "/hello/{name}/{age}", method = RequestMethod.GET)
        public String hello(@PathVariable("name") String name,@PathVariable("age") int myAge) {
            return "我是" + name +"年龄 " + myAge;
        }
    }    
    注意: 通过@PathVariable("***")的形式可以获取指定URL中的参数,此时可以修改变量的名字,如上面的age参数, 如果不需要修改参数名则可以按照URL中参数的顺序写成如下形式
    public String hello(@PathVariable String name,@PathVariable int age)
    如果是类上面的@RequestMapping("demoAnno") 也添加一个参数,和方法上的获取使用是一样的
     
    ②@RequestParam也是通过把参数绑定到URL中,但是和@PathVariable有不同,形式为http://localhost:port/path?参数名=参数
     
    @RestController
    @RequestMapping("demoAnno")
    public class testController {
      @RequestMapping(value = "/hello", method = RequestMethod.GET)
      public String hello(@RequestParam(value = "name", required = false, defaultValue = "null") String name) {
        return "我是" + name ;
      }
    }
    注意:@RequestParam中required是"是否必填", "false" 可以不带此参数, "defaultValue" 可以赋一个默认值.如果选择required = false ,URL中不带name=tom参数,不会报错. 如果写成@RequestParam(value = "name") 这样的形式,则不带name=tom参数就会报错.
     
    ③@RequestBody可以将请求体中的JSON字符串绑定到相应的bean上,也可以将其分别绑定到对应的字符串上。 
    @RestController
    @RequestMapping("demoAnno")
    public class testController {
      @RequestMapping(value = "/hello", method = RequestMethod.POST)
      public String hello(@RequestBody RequestOrderVo requestOrderVo) {
        return "我是" + requestOrderVo.getName +"年龄 "+requestOrderVo.getAge;
      }
    }
  • 相关阅读:
    tomcat配置用户角色权限
    jenkins集成maven
    centos7安装maven
    jenkins凭证插件的安装和基本使用
    Jenkins用户权限管理
    虚拟机NAT模式配置静态IP
    制作sentinel docker镜像
    docker安装nacos
    Tkinter
    neo4j导入csv文件
  • 原文地址:https://www.cnblogs.com/huhongy/p/7299281.html
Copyright © 2020-2023  润新知