目录:【持续更新。。。。。】
  
  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. .Net 并发写入文件的多种方式

    1.简介 本文主要演示日常开发中利用多线程写入文件存在的问题,以及解决方案,本文使用最常用的日志案例! 2.使用File.AppendAllText写入日志 这是种常规的做法,通过File定位到日志文 ...

  2. java~springboot~h2数据库在单元测试中的使用

    单元测试有几点要说的 事实上springboot框架是一个tdd框架,你在进行建立项目时它会同时建立一个单元测试项目,而我们的代码用例可以在这个项目里完成,对于单元测试大叔有以下几点需要说明一下: 单 ...

  3. 正则表达式的一些探索(偏JavaScript)

    简单的探索下正则表达式的相关知识,首先先了解下正则表达式的引擎和匹配过程区别,再试着掌握如何在场景中编写正则表达式,再然后探索下根据上文已知的原理和编写过程怎么去优化正则表达式,最后给出一些js里正则 ...

  4. 如何使用借助python完成 ARCGIS工具箱的调用

    上个月使用python调用arcgis工具箱完成了火点txt文件转shp文件的小功能, 感觉很不错, 写下这篇博客希望对大家有所帮助. 1.环境介绍: 系统: win8.1(64位) arcgis:d ...

  5. 不到50行代码实现一个能对请求并发数做限制的通用RequestDecorator

    使用场景 在开发中,我们可能会遇到一些对异步请求数做并发量限制的场景,比如说微信小程序的request并发最多为5个,又或者我们需要做一些批量处理的工作,可是我们又不想同时对服务器发出太多请求(可能会 ...

  6. for循环中变量的作用域问题

    看下面这一行代码 for (let i = 0; i < 3; i++) { let i = 'abc' console.log(i) } // abc // abc // abc 从上面可以看 ...

  7. CSRF跨站伪造请求

    一.什么是CSRF CSRF(Cross Site Request Forgery) 跨站请求伪造.也被称为One Click Attack和Session Riding,通常缩写为CSRF或XSRF ...

  8. Yum搭建LNMP环境(动、静、库分离)(week4_day5)--技术流ken

    前言 本篇博客使用yum来搭建lnmp环境,将采用动态,静态以及数据库分开安装的方式即nginx,php,mysql.会被分开安装在不同的服务器之上,搭建出来一套lnmp环境,并部署wordpress ...

  9. Zepto整体概况

    var Zepto = (function(){ var zepto = {},$; zepto.Z = function(dom, selector) { return new Z(dom,sele ...

  10. [转]Angular4 数据请求 POST、GET

    本文转自:https://blog.csdn.net/dailuwen/article/details/79375980 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...