2019独角兽企业重金招聘Python工程师标准>>>

通过前两章节的介绍,大家应该对Spring Boot有了些许的认识,也感觉到了这个框架带来的便利,下面我将讲解SpringBoot的一些常用注解。

1、Controller注解的使用

1.1 简介

            

1.2 RestController 注解详解

RestController相当于@ResponseBody+@Controller,用来响应HTTP请求。在类之前加,不加就无法响应Http请求了。

1.3 RequestMapping 注解详解

RequestMapping用来配置URL映射,可以加在类上,也可加在方法上。

如果把注解加在类上,访问此类下的方法,则需要在URL上加类上的映射。效果如下:注:joyou这个路径是之前在yml中配置的。

如果一个方法,既想用hello访问,也想用hi访问,那么只需要把value属性配置为数组方式即可。在类上也一样。

浏览器访问效果如下:使用hello和hi都可以访问此方法

可以看到在日志输出结果如下

1.4 RequestMapping 注解中Method属性详解

我们可以看到映射这里的属性有非常多的选择,规则如下:主要的作用是限制此方法的请求方式。 (PS:我记得有一次面试,HR问我SpringMVC 如何只允许Post方式访问一个方法?我当时也不知道直接在这设置就行了,我回答的是写一个拦截器,拦截掉所有非Post请求.......现在想想我当时想法好天真的,哈哈!)

如果设为Get,那么只能接收Get请求,设置为Post,就只能接收Post请求。下面用Get做一个实验。

首先将Method设为Get。

@RequestMapping(value="/hello" , method = RequestMethod.GET)
public String HelloSpring(){return girl.toString();
}

使用火狐浏览器的发包工具,向服务器发送一个GET请求,返回200状态码,说明请求成功!

使用火狐浏览器的发包工具,向服务器发送一个POST请求,返回405状态码,说明失败了!

上面通过设置其属性的方式,有朋友会觉得很麻烦,而Spring也早就为我们提供了一种更优雅的方式,将在下一章节介绍。

2、URL中参数的接收

2.1 简介

2.2 @PathVariable 注解详解

使用@PathVariable 注解可以接收URL中的数据值,格式如下:

浏览器带参数访问URL,可以看见输入的参数已经接收并返回给视图。

2.3 @RequestParam注解详解

使用RequestParam注解可以接收URL中参数的值,格式如下:(请大家注意与@PathVariable注解接收参数书写格式和代入参数的格式 )

浏览器带参数访问URL,效果如下:

需要注意的是,如果开启此注解访问URL不带参数则会报错!

那么比如说我不想每次都带参数,有时候带有时候不带,这种情况怎么办呢?RequestParam中还有其他属性:required 是否为必传,defaultValue 默认值。请看下面的截图:

浏览器不带参数访问结果如下,返回默认值0:

2.4  使用组合注解

上一章提到过一种优雅的限制请求类型的方法,就是使用@GetMapping @PostMapping@DeleteMapping等注解,例如@GetMapping 其相当于@RequestMapping( method = RequestMethod.GET),怎么样是不是更简略了?

转载于:https://my.oschina.net/lienson/blog/1507012

微服务开发的入门级框架Spring Boot详解:注解相关推荐

  1. “史上最全”Spring Boot详解!java程序员细节到极致的一次,魔鬼

    这本书的灵感 当时公司的技术栈全面转入Spring Boot体系,源于本书作者在公司的一次分享会上的分享.当时作者用了不到10分钟就使用Spring Boot轻松制作了一个功能完整的数据增加.删除.修 ...

  2. 阿里微服务专家自己手写Spring Boot 实现一个简单的自动配置模块

    为了更好的理解 Spring Boot 的 自动配置和工作原理,我们自己来实现一个简单的自动配置模块. 假设,现在项目需要一个功能,需要自动记录项目发布者的相关信息,我们如何通过 Spring Boo ...

  3. springboot 微服务_使用 Docker 部署 Spring Boot微服务

    Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目, ...

  4. 【微服务之分布式Session】Session机制详解及分布式中Session共享解决方案

    一.为什么要产生Session http协议本身是无状态的,客户端只需要向服务器请求下载内容,客户端和服务器都不记录彼此的历史信息,每一次请求都是独立的. 为什么是无状态的呢?因为浏览器与服务器是使用 ...

  5. 微服务实践之通信(OpenFeign)详解-SpringCloud(2021.0.x)-6

    [版权申明] 非商业目的注明出处可自由转载 出自:shusheng007 首发于:shusheng007.top 文章目录 概述 OpenFeign简介 基本使用 新建provider与consume ...

  6. java retry_Spring异常重试框架Spring Retry详解

    Spring Retry支持集成到Spring或者Spring Boot项目中,而它支持AOP的切面注入写法,所以在引入时必须引入aspectjweaver.jar包. 快速集成的代码样例: @Con ...

  7. spring cloud 微服务的版本介绍与内部组件详解

    转载于:https://blog.51cto.com/14185725/2370375

  8. Eplan Electric P8 API二次开发之项目框架的搭建详解

    一.目的 本博之前写过几篇Eplan Electric P8 API二次开发的一些小的细节,诸如怎么获取当前打开的项目,怎么在当前页面中插入一个符号(Symbol)及功能(Function)等等.对怎 ...

  9. 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发...

    <ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...

最新文章

  1. Libra白皮书解读
  2. asp.net表单提交方法GET\POST
  3. 三星1TB硬盘MM804RS不识别加电磁头打盘敲盘异响不识别开盘恢复数据
  4. Win11如何跳过开机更新 Win11跳过开机更新教程
  5. http与https与socket tcp/IP与UDP 协议等
  6. table中加表单元素怎么验证_045、DOM编程实例和表单
  7. c语言判断字符串合法标识符,HDU 2024 C语言合法标识符(以及一些关于输入和ctype.h的内容)...
  8. django 不包括字段 序列化器_DRF比Django的认证和权限高在哪里
  9. java截取视频第一帧图片
  10. c# 火狐浏览器怎么嵌入窗体中_.net winform程序下使用firefox作为Web浏览器
  11. 计算机一级考试通知书,1994年全国计算机等级考试一级试题及答案.doc
  12. 如何给linux添加新硬盘(转)
  13. 字节跳动面试真题- 整数反转
  14. 成功解决win7不能重装ie9的问题(重整版)
  15. html360全景图原理,HTML5中Canvas如何实现360度全景图
  16. 李兴平,世界站长第一人
  17. 史上最简SLAM零基础解读(7) - Jacobian matrix(雅可比矩阵) → 理论分析与应用详解(Bundle Adjustment)
  18. Flutter Image从网络加载图片刷新、强制重新渲染
  19. 踩坑日记:Parameter ‘XXX‘ not found. Available parameters are [param5, param6]解决一下午。。。。
  20. FT24C32A介绍

热门文章

  1. android百度导航实现,Android 集成百度地图实现设备定位
  2. jenkins+pytest+allure接口自动化测试(windows环境)
  3. spring cloud微服务_面试败给微服务?别怕,我带你一起手撕Dubbo,SpringBoot与Cloud...
  4. php比较两个数组的键名统计有交集的数量,php比较两个数组的键名并返回交集的函数array_intersect_key()...
  5. python里hist图状图_直方图中具有阶梯填充histtype的matplotlib散点图hist
  6. 营业税计提及企业所得税的相关计算公式
  7. Spark基础学习笔记11:Scala运算符
  8. 大数据学习笔记05:ZooKeeper集群
  9. 数据库笔记12:创建与管理触发器
  10. sdoi2017 r1 不堪回首