1.项目的整体结构

|--------|--------------|--------------------------------------------|
| 序号 | 名称 | 说明 |
| 1 | sky-take-out | maven父工程,统一管理依赖版本,聚合其他子模块 |
| 2 | sky-common | 子模块,存放公共类,例如:工具类、常量类、异常类等 |
| 3 | sky-pojo | 子模块,存放实体类、VO、DTO等 |
| 4 | sky-server | 子模块,后端服务,存放配置文件、Controller、Service、Mapper等 |
2.前后端联调
Controller:1.接收并封装参数 2.调用service方法查询数据库 3.封装结果并响应
Service:1.调用Mapper查询数据库 2.密码对比 3.返回结果
Mapper:1.select * from employee where username=?
3.Nginx反向代理
nginx 反向代理:将前端发送的动态请求由 nginx 转发到后端服务器
nginx 反向代理的好处:1.提高访问速度 2.进行负载均衡 3.保证后端服务安全
1.nginx 反向代理的配置方式:
java
server{
listen 80;
server_name localhost;
location /api/ {
proxy_pass http://localhost:8080/admin/; #反向代理
}
}
2.nginx 负载均衡的配置方式:
java
upstream webservers{
server 192.168.100.128:8080;
server 192.168.100.129:8080;
}
server{
listen 80;
server_name localhost;
location /api/ {
proxy_pass http://webservers/admin/; #负载均衡
}
}
nginx 负载均衡策略:
|------------|--------------------------------|
| 名称 | 说明 |
| 轮询 | 默认方式 |
| weight | 权重方式,默认为1,权重越高,被分配的客户端请求就越多 |
| ip_hash | 依据ip分配方式,这样每个访客可以固定访问一个后端服务 |
| least_conn | 依据最少连接方式,把请求优先分配给连接数少的后端服务 |
| url_hash | 依据url分配方式,这样相同的url会被分配到同一个后端服务 |
| fair | 依据响应时间方式,响应时间短的服务将会被优先分配 |
4.完善登录功能

5.常用注解
|-------------------|----------------------------------|
| 注解 | 说明 |
| @Api | 用在类上,例如Controller,表示对类的说明 |
| @ApiModel | 用在类上,例如entity、DTO、VO |
| @ApiModelProperty | 用在属性上,描述属性信息 |
| @ApiOperation | 用在方法上,例如Controller的方法,说明方法的用途、作用 |