目录:【持续更新。。。。。】
  
  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;
  }
}

springboot部分常用注解的更多相关文章

  1. SpringBoot 中常用注解

    本篇博文将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注 ...

  2. SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍

    SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍 本篇博文将介绍几种如何处理url中的参数的注解@PathVaribale/@Requ ...

  3. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping的区别

    SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别 @Controller 处理http请求 @Controller //@Re ...

  4. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍

    原文 SpringBoot 中常用注解 @Controller/@RestController/@RequestMapping介绍 @Controller 处理http请求 @Controller / ...

  5. SpringBoot+Spring常用注解总结

    为什么要写这篇文章? 最近看到网上有一篇关于 SpringBoot 常用注解的文章被转载的比较多,我看了文章内容之后属实觉得质量有点低,并且有点会误导没有太多实际使用经验的人(这些人又占据了大多数). ...

  6. SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别

    @Controller 处理http请求 @Controller //@ResponseBody public class HelloController { @RequestMapping(valu ...

  7. springboot系列总结(二)---springboot的常用注解

    上一篇文章我们简单讲了一下@SpringBootApplication这个注解,申明让spring boot自动给程序进行必要的配置,他是一个组合注解,包含了@ComponentScan.@Confi ...

  8. SpringBoot之常用注解

    在spring boot中,摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度.同样在spring boot中,大量注解的使用,使得代码 ...

  9. 【SpringBoot】常用注解

    @EnableAutoConfiguration 启动自动装载:使用了这个注解之后,所有引入的jar的starters都会被自动注入.这个类的设计就是为starter工作的. @RestControl ...

随机推荐

  1. MRO

    在Python3里面,有多继承的时候,往往会出现调用Super失败的情况.Python里存在一种多继承 Super的调用顺序(C3算法),保证每个类调用一次. 体现:类名.__mro__ 使用Supe ...

  2. Netdata 服务器前端监控平台

    Netdata 是一款 Linux 性能实时监测工具.Netdata是Linux系统实时性能监测工具,提供web界面的界面视角. 它用可视化的手段,将被监测者最细微的细节,展现了出来.这样,你便可以清 ...

  3. jvm详情——4、分代垃圾回收详述

    虚拟机中的共划分为三个代: 年轻代(Young Generation) 年老点(Old Generation) 持久代(Permanent Generation) 其中持久代主要存放的是Java类的类 ...

  4. Apache Flink 漫谈系列 - JOIN 算子

    聊什么 在<Apache Flink 漫谈系列 - SQL概览>中我们介绍了JOIN算子的语义和基本的使用方式,介绍过程中大家发现Apache Flink在语法语义上是遵循ANSI-SQL ...

  5. python三大神器之fabric(2.0新特性)

    fabric经常出现在自动化运维领域,批量处理一些运维工作.fabric是在paramiko之上又封装了一层,操作起来更加简单易用. 本来只是想写个博客记录一下,然后发现之前写的代码不能运行了,报以下 ...

  6. 网络基础知识 - HTTP协议

    前传:HTTP协议的演变过程 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是 ...

  7. Spring Boot (二)集成Jsp与生产环境部署

    一.简介 提起Java不得不说的一个开发场景就是Web开发,也是Java最热门的开发场景之一,说到Web开发绕不开的一个技术就是JSP,因为目前市面上仍有很多的公司在使用JSP,所以本文就来介绍一下S ...

  8. com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver

    com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的 ...

  9. bash内置命令的特殊性,后台任务的"本质"

    本文解释bash内置命令的特殊性.前台.后台任务的"本质",以及前.后台任务和bash进程.终端的关系.网上没类似的资料,所以都是自己的感悟和总结,如有错误,120分的期待盼请指正 ...

  10. mysql数据库中的数据导入与导出

    需求: 在本地电脑上的mysql中创建了一个数据库,并且在该数据库中创建了很多表,表中数据比较多: 现在想换一台电脑,但是又不想重新建数据库.建表.造数据. 解决方案: 利用mysql提供的命令,在本 ...