后端

A. maven管理依赖 聚合项目

B. 基础框架 spring boot

C. 引入spring cloud微服务提供 版本netfilx

1.注册中心使用nacos

Nacos Docker 快速开始

2.接口调用feign

Spring Cloud OpenFeign

3.熔断Hystrix Htxon.SR3

快速开始 · Hystrix Document

4.搜索引擎 es7

Welcome to Elastic Docs | Elastic

5.接口文档swagger

添加依赖

<!-- swagger-ui -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version>
</dependency>
<!-- swagger2 -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version>
</dependency>

添加配置类

@EnableSwagger2
@Configuration
public class SwaggerConfig {@Beanpublic Docket api() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()// 自行修改为自己的包路径.apis(RequestHandlerSelectors.basePackage("com.zhanggm.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("深度应用后台api接口文档").description("restful 风格接口").version("1.0").build();}
}

访问地址:http://ip:port/swagger-ui.html

注解使用说明

@Api 类说明

@Api:用在请求的类上,说明该类的作用tags="说明该类的作用"value="该参数没什么意义,所以不需要配置"
@Api("APP用户注册Controller")
public class UserController {
}
属性名称 数据类型 默认值 说明
value String “” 隐式设置操作的标记,遗留支持(读取 description)
tags String[] “” 对接口进行分组
produces String “”
consumes String “” 采用逗号分隔的 content types,例如: application/json,application/xml 会接收JSON和XML的输入
protocols String “” 采用逗号分隔的可用协议,例如:http,https,ws,wss
authorizations Authorization[] “” 授权列表
hidden boolean false 隐藏此资源下的操作, 和 @ApiOperation 注解中的 hidden 组合使用可以隐藏改接口

@ApiOperation 方法说明

@ApiOperation:"用在请求的方法上,说明方法的作用"value="说明方法的作用"notes="方法的备注说明"
@Api("APP用户注册Controller")
public class UserController {@ApiOperation(value="用户注册",notes="手机号、密码都是必输项,年龄随边填,但必须是数字")@RequestMapping("register")public Object register(){}
}
属性名称 数据类型 默认值 说明
value String 接口简要说明,120字符或更少
notes String “” 接口详细描述
tags String[] “” tag 列表,可用于按自愿或任何其它限定符对操作进行逻辑分组
response Class<?> Void.class 接口返回类型
responseContainer String “” 声明包装响应的容器。有效值为 List,Set,Map,任何其它值都将被忽略
responseReference String “” 指定对响应类型的引用,本地/远程引用,并将覆盖任何其它指定的response()类
httpMethod String “” 请求方式:“GET”, “HEAD”, “POST”, “PUT”, “DELETE”, “OPTIONS” and “PATCH”,如果未指定则使用除"PATH"之外的其它所有
nickname String “” 第三方工具使用operationId来唯一表示此操作
produces String “” 采用逗号分隔的 content types 类型的返回数据,例如:application/json,application/xml
consumes String “” 采用逗号分隔的 content types 类型的入参数据类型,例如:application/json,application/xml
protocols String “” 指定协议类型:http,https,ws,wss,多个协议使用逗号进行分隔
authorizations Authorization[] @Authorization(value = “”) 获取此操作的授权列表
hidden boolean false 是否隐藏操作列表中的操作
responseHeaders ResponseHeader[] @ResponseHeader(name = “”, response = Void.class) 指定 response header 信息列表
code int 200 HTTP返回状态码
extensions Extension[] @Extension(properties = @ExtensionProperty(name = “”, value = “”)) 可选的扩展数组

@ApiImplicitParams**参数说明

用在请求的方法上,包含一组参数说明

 @ApiImplicitParams:用在请求的方法上,包含一组参数说明@ApiImplicitParam:用在 @ApiImplicitParams 注解中,指定一个请求参数的配置信息       name:参数名value:参数的汉字说明、解释required:参数是否必须传paramType:参数放在哪个地方· header --> 请求参数的获取:@RequestHeader· query --> 请求参数的获取:@RequestParam· path(用于restful接口)--> 请求参数的获取:@PathVariable· body(不常用)· form(不常用)    dataType:参数类型,默认String,其它值dataType="Integer"       defaultValue:参数的默认值
@Api("APP用户注册Controller")
public class UserController {@ApiImplicitParams({@ApiImplicitParam(name="mobile",value="手机号",required=true),@ApiImplicitParam(name="password",value="密码",required=true),@ApiImplicitParam(name="age",value="年龄",required=true,paramType="form",dataType="Integer")})@RequestMapping("register")public Object register(){}
}
属性名称 数据类型 默认值 说明
name String “” 参数名称,参数名称将从 filed/method/parameter 名称中派生, 但你可以覆盖它,路径参数必须始终命名为它们所代表的路径部分
value String “” 参数简单描述
defaultValue String “” 描述参数默认值
allowableValues String “” 可接收参数值限制,有三种方式,取值列表,取值范围
required boolean false 是否为必传参数, false:非必传; true:必传
access String “” 参数过滤,请参阅:io.swagger.core.filter.SwaggerSpecFilter
allowMultiple boolean false 指定参数是否可以通过多次出现来接收多个值
hidden boolean false 隐藏参数列表中的参数
example String “” 非请求体(body)类型的单个参数示例
examples Example @Example(value = @ExampleProperty(mediaType = “”, value = “”)) 参数示例,仅适用于请求体类型的请求
type String “” 添加覆盖检测到类型的功能
format String “” 添加提供自定义format格式的功能
allowEmptyValue boolean false 添加将格式设置为空的功能
readOnly boolean false 添加被指定为只读的能力
collectionFormat String “” 添加使用 array 类型覆盖 collectionFormat 的功能

@ApiResponses方法返回说明

@ApiResponses:用于请求的方法上,表示一组响应@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息code:数字,例如400message:信息,例如"请求参数没填好"response:抛出异常的类
@Api("APP用户注册Controller")
public class UserController {@ApiResponses({@ApiResponse(code=400,message="请求参数没填好"),@ApiResponse(code=404,message="请求路径没有或页面跳转路径不对")})@RequestMapping("register")public Object register(){}
}
属性名称 数据类型 默认值 说明
code int 响应的HTTP状态码
message String 伴随响应的人类可读的消息
response Class<?> Void.class 用于描述消息有效负载的可选响应类,对应于响应消息对象的 schema 字段
reference String “” 指定对响应类型的引用,指定的应用可以使本地引用,也可以是远程引用, 将按原样使用,并将覆盖任何指定的response()类
responseHeaders ResponseHeader[] @ResponseHeader(name = “”, response = Void.class) 可能响应的 header 列表
responseContainer String “” 声明响应的容器,有效值为List,Set,Map,任何其他值都将被忽略

@ApiModel 模型说明

@ApiModel:用于响应类上,表示一个返回响应数据的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)@ApiModelProperty:用在属性上,描述响应类的属性
 @ApiModel(description= "返回响应数据")public class RestMessage implements Serializable{@ApiModelProperty(value = "是否成功")private boolean success=true;@ApiModelProperty(value = "返回对象")private Object data;@ApiModelProperty(value = "错误编号")private Integer errCode;@ApiModelProperty(value = "错误信息")private String message;/* getter/setter */}
属性名称 数据类型 默认值 说明
value String 类名 为模型提供备用名称
description String “” 提供详细的类描述
parent Class<?> Void.class 为模型提供父类以允许描述继承关系
discriminatory String “” 支持模型继承和多态,使用鉴别器的字段的名称,可以断言需要使用哪个子类型
subTypes Class<?>[] {} 从此模型继承的子类型数组
reference String “” 指定对应类型定义的引用,覆盖指定的任何其他元数据

@ApiModelProperty

属性名称 数据类型 默认值 说明
value String “” 属性简要说明
name String “” 运行覆盖属性的名称。重写属性名称
allowableValues String “” 限制参数可接收的值,三种方法,固定取值,固定范围
access String “” 过滤属性,参阅:io.swagger.core.filter.SwaggerSpecFilter
notes String “” 目前尚未使用
dataType String “” 参数的数据类型,可以是类名或原始数据类型,此值将覆盖从类属性读取的数据类型
required boolean false 是否为必传参数,false:非必传参数; true:必传参数
position int 0 允许在模型中显示排序属性
hidden boolean false 隐藏模型属性,false:不隐藏; true:隐藏
example String “” 属性的示例值
readOnly boolean false 指定模型属性为只读,false:非只读; true:只读
reference String “” 指定对应类型定义的引用,覆盖指定的任何其他元数据
allowEmptyValue boolean false 允许传空值,false:不允许传空值; true:允许传空值

6.sql监控

SQL监控_HaoFather_father的博客-CSDN博客

7.安全登录security

Spring——Security安全框架使用详解(基于内存认证)_专注写bug的博客-CSDN博客_security安全框架

8.缓存机制redis 限流

Redis 教程 | 菜鸟教程

9.网关 gateway

10.全局令牌token采用jwt生成

11.阿里云短信集成

12.aop+Kafka日志存储

13.七牛云oss文件存储

Spring Boot集成七牛云对象存储oss_dreaming9420的博客-CSDN博客_springboot集成七牛云

14.quartz定时任务

前端

vue vuex element-ui axios echarte图表 quill富文本

api 公共模块

spring boot框架常用的一些玩意儿相关推荐

  1. Spring Boot 框架学习笔记(二)(配置文件与数据注入 yaml基本语法 JSR303数据验证 多环境切换 )

    Spring Boot 框架学习笔记(二) 六.appliaction.properties配置与数据注入 6.1 `@Value`注解 测试注入数据 读取输入流 6.2 读取配置文件数据注入 单文件 ...

  2. springboot原生mysql写法_【Rainbond最佳实践】Spring Boot框架配置MySQL

    Rainbond开源软件介绍: Rainbond是国内首个开源的生产级无服务器PaaS. 深度整合基于Kubernetes的容器管理.多类型CI/CD应用构建与交付.多数据中心的资源管理等技术,提供云 ...

  3. spring boot 学习(二)spring boot 框架整合 thymeleaf

    spring boot 框架整合 thymeleaf spring boot 的官方文档中建议开发者使用模板引擎,避免使用 JSP.因为若一定要使用 JSP 将无法使用. 注意:本文主要参考学习了大神 ...

  4. Spring Boot框架表达式注入漏洞

    2019独角兽企业重金招聘Python工程师标准>>> 高危漏洞的曝光总是发生在意想不到的时刻:周末所有人都准备享受周末的时间,Spring Boot框架的SpEL表达式注入通用漏洞 ...

  5. spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring

    本节主要内容: 1:通过代码演示实现零XML配置spring 2:使用重点注解理解 声明: 本文是<凯哥陪你学系列-框架学习之spring boot框架学习>中spring boot框架学 ...

  6. Spring Boot框架敏感信息泄露的完整介绍与SRC实战(附专属字典与PoC)

    转载于:https://www.freebuf.com/vuls/289710.html #前言 ##Spring Boot框架介绍 Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配 ...

  7. Spring Boot框架中使用Jackson的处理总结

    1.前言 通常我们在使用Spring Boot框架时,如果没有特别指定接口的序列化类型,则会使用Spring Boot框架默认集成的Jackson框架进行处理,通过Jackson框架将服务端响应的数据 ...

  8. Spring Boot 框架介绍和使用

    本文参考自Spring Boot文档. Spring Boot 简介 Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西.因此就有了Spring Boot框架,它的作用很简单 ...

  9. spring boot框架学习2-spring boot核心(1)

    本节主要: 1:解析spring boot入口和@SpringBootApplication源码详解 SpringBootApplication包含: @SpringBootConfiguration ...

最新文章

  1. CASSINI源代码分析
  2. 电容触摸屏GT911、GT928、GT9147的使用
  3. Ubuntu修改DNS服务器
  4. Hashmap链表长度为8时转换成红黑树,你知道为什么是8吗
  5. 【总结】循序渐进,有三AI不得不看的技术综述(超过100篇核心干货)
  6. mysql性能优化 硬件优化_mysql性能优化学习笔记(6)数据库配置优化硬件优化...
  7. 从最年轻的白手起家富豪到身陷囹圄,这个80后创始人也就用了3年
  8. 正则表达式的性能评测
  9. sql 逻辑运算符_SQL Like逻辑运算符介绍和概述
  10. 远程调试运行在Resin上面的Web应用程序
  11. 并发编程常见面试题总结三
  12. 如何快速搭建自己的阿里云服务器(宝塔、Xshell、Xftp配置)
  13. 袁亚湘院士谈如何做好研究生:如果不思考,人再聪明也无济于事
  14. 计算机远程桌面连接有几种方式,远程桌面连接的2种方法
  15. 黄反词测试,接口监控
  16. 作业帮-后台开发岗 面经
  17. 药用植物学-----植物的细胞
  18. sipdroid软件直接使用andriod打网络电话
  19. Linux下安装钉钉
  20. nginx:nginx学习

热门文章

  1. Wordpress里面的Set Featured Image
  2. matlab kstest怎么解释结果,如何解释`scipy.stats.kstest`和`ks_2samp`来评估数据的“拟合”?...
  3. python专科就业前景_Python就业前景怎么样?
  4. python3爬虫图片_Python3 实现淘女郎照片爬虫
  5. [凸多边形最大内切圆][半平面交]Most Distant Point from the Sea POJ3525
  6. 微信hook——登录界面的账号密码
  7. DLL load failed while importing _ssl: 找不到指定的模块
  8. Cuckoo Hash及其性质
  9. (生活小妙招系列二之:高血压篇)现在才明白,高血压的罪魁祸首不是盐,而是它!
  10. 廖雪峰git入门教程——学习笔记