微服务实战笔记-学成在线-day01

知识点:

  1. SSI 服务端包含技术
  2. MongoDB
  3. Swagger 使用
  4. Lombok

SSI 服务端包含技术
ssi技术可以将多个小模块的界面拼凑到一起形成一个完整的界面,主流的web应用服务器(nginx)都提供了支持。

使用ssi的好处,当我们门户网站内的某一小块需要改变,比如页头或者页脚等需要修改内容的时候,我们不用去修改整个门户页面,只用修改对应的子页面即可

nginx使用:
nginx使用ssi非常简单,只用在nginx.conf 中设置ssi on 即可
微服务实战笔记-学成在线-day01_第1张图片

// 使用方式 去掉这行之后 头部消失 
// 同理 当我们需要修改头的内容也只用去修改
// /include/header.html这个文件即可
<!--#include virtual="/include/header.html"-->

微服务实战笔记-学成在线-day01_第2张图片
微服务实战笔记-学成在线-day01_第3张图片

MongoDB 入门级操作
微服务实战笔记-学成在线-day01_第4张图片

mongoDB 是一个非关系型数据库,它与传统的关系型数据库有几个需要注意的地方

  1. mongoDB存储的是json
  2. mongoDB不支持连接查询,但是一行内可以存不止一个表信息,因为mongoDB存储的 是json
  3. 当创建一个新的数据库 但是里面没有集合,那么在命令行模式下使用show dbs这个数据库是不会显示出来的

常用命令

数据库相关

命令 描述
show dbs 查看所有数据库(存在集合的)
db 查看当前所在的数据库
use dbName(数据库的名称) 创建数据库(如果不存在的话)
db.dropDatabase() 删除数据库

集合(表)相关

命令 描述
db.createCollection(name, options) 创建集合 name 集合的名称(表名),options 创建参数 可以不写
db.collection.drop() 删除集合,collection 为集合的名字

因为mongoDB以json存储,所以不需要修改表结构的语句

swagger
Swagger常用注解
在Java类中添加Swagger的注解即可生成Swagger接口,常用Swagger注解如下:

注解 描述
@Api 修饰整个类,描述Controller的作用
@ApiOperation 描述一个类的一个方法,或者说一个接口
@ApiParam 单个参数描述
@ApiModel 用对象来接收参数
@ApiModelProperty 用对象接收参数时,描述对象的一个字段
@ApiResponse HTTP响应其中1个描述
@ApiResponses HTTP响应整体描述
@ApiIgnore 使用该注解忽略这个API
@ApiError 发生错误返回的信息
@ApiImplicitParam 一个请求参数
@ApiImplicitParams 多个请求参数
@ApiImplicitParam属性 这个里面属性有点多,单独列出来,参考下图

微服务实战笔记-学成在线-day01_第5张图片

Swagger接口生成工作原理
1、系统启动,扫描到api工程中的Swagger2Configuration类
2、在此类中指定了包路径com.xuecheng,找到在此包下及子包下标记有@RestController注解的controller类
3、根据controller类中的Swagger注解生成接口文档。
启动服务工程,查看接口文档,请求:http://localhost:31001/swagger-ui.html
微服务实战笔记-学成在线-day01_第6张图片
微服务实战笔记-学成在线-day01_第7张图片

Lombok
Lombok是一个代码生成插件,idea,eclipse等都可以加入此插件,当使用此插件之后,可以通过在类上加@Data @Setter @Getter 等注解自动给类中的属性添加getSet 方法,它还通过@Builder,使用此注解会自动生成一个构建器类,方便对象的构建,常用的注解还有@ToSting

弊端:
使用Lombok会带来代码侵入,如果项目中一个人使用了Lombok 那么团队开发都要使用这个插件

你可能感兴趣的:(java,java)