# pmcspsc **Repository Path**: soldiergitee/pmcspsc ## Basic Information - **Project Name**: pmcspsc - **Description**: No description available - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-09 - **Last Updated**: 2021-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 大学生专业学科竞赛项目过程管理系统 -后台 ============================ #### 项目说明 pmcspsc #### _2019年秋季大三第一学期,JAVAEE期末课设_ #### _2020年春季大三第二学期,SpringBoot消息中间件期末课设_ 技术要求:spring boot,spring mvc,mybatis,mybatis plus #### 构建项目 1. idea自带数据库管理工具导入方式 创建pmcspsc数据库命令: CREATE SCHEMA pmcspsc DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 2. maven引入jar包 选择maven 中的install 3. 运行PMCSPSCApplication #### 部署项目 1. 生成docker镜像:docker build -t soldierdocker/pmcspsc:v1.0.0 . 2. 推镜像:docker push soldierdocker/pmcspsc 3. 拉镜像:docker pull soldierdocker/pmcspsc:v1.0.0 4. 启动容器:docker run -d -p 8080:8080 soldierdocker/pmcspsc:v1.0.0

## `2020.04.27重构` ### `使用RabbitMQ消息中间件` #### RabbitMQ的安装 [RabbitMQ的安装过程](https://www.cnblogs.com/soldier-cnblogs/p/13197866.html) #### RabbitMQ的配置 [SpringBoot + RabbitMQ配置参数解释](https://www.cnblogs.com/qts-hope/p/11242559.html) ### `安全优化` #### redis的安装 1. docker下拉redis镜像:docker pull docker.io/redis 2. 启动容器:docker run -d --name redis1 -p 6379:6379 redis --requirepass "123456" 3. 参数解释: -d : 后台运行 -name 为容器的名字 -p 端口映射 --requirepass:redis密码 redis为镜像名 #### 接口的限流防刷 自定义Prevent注解,可以使用拦截器减少对业务的侵入 ```C 总结: 定义一切面,通过@Prevent注解作为切入点、在该切面的前置通知获取该方法的所有入参并将其Base64编码, 项目名称 + 完整方法名作为redis的key + 用户id,访问次数作为reids的value, Prevent的value作为redis的expire,存入redis; 每次进来这个切面根据key判断redis值是否存在,不存在则设value为1且允许调用;存在则判断是否超过frequency,不超过自增;超出拦截防刷 ```