知识点:
- SSI 服务端包含技术
- MongoDB
- Swagger 使用
- Lombok
SSI 服务端包含技术
ssi技术可以将多个小模块的界面拼凑到一起形成一个完整的界面,主流的web应用服务器(nginx)都提供了支持。
使用ssi的好处,当我们门户网站内的某一小块需要改变,比如页头或者页脚等需要修改内容的时候,我们不用去修改整个门户页面,只用修改对应的子页面即可
nginx使用:
nginx使用ssi非常简单,只用在nginx.conf 中设置ssi on 即可
// 使用方式 去掉这行之后 头部消失
// 同理 当我们需要修改头的内容也只用去修改
// /include/header.html这个文件即可
<!--#include virtual="/include/header.html"-->
MongoDB 入门级操作
mongoDB 是一个非关系型数据库,它与传统的关系型数据库有几个需要注意的地方
- mongoDB存储的是json
- mongoDB不支持连接查询,但是一行内可以存不止一个表信息,因为mongoDB存储的 是json
- 当创建一个新的数据库 但是里面没有集合,那么在命令行模式下使用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属性 | 这个里面属性有点多,单独列出来,参考下图 |
Swagger接口生成工作原理
1、系统启动,扫描到api工程中的Swagger2Configuration类
2、在此类中指定了包路径com.xuecheng,找到在此包下及子包下标记有@RestController注解的controller类
3、根据controller类中的Swagger注解生成接口文档。
启动服务工程,查看接口文档,请求:http://localhost:31001/swagger-ui.html
Lombok
Lombok是一个代码生成插件,idea,eclipse等都可以加入此插件,当使用此插件之后,可以通过在类上加@Data @Setter @Getter 等注解自动给类中的属性添加getSet 方法,它还通过@Builder,使用此注解会自动生成一个构建器类,方便对象的构建,常用的注解还有@ToSting
弊端:
使用Lombok会带来代码侵入,如果项目中一个人使用了Lombok 那么团队开发都要使用这个插件