# all-learning **Repository Path**: maokeyang/all-learning ## Basic Information - **Project Name**: all-learning - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 集成Mybatis Plus步骤 1. 在pom.xml文件引入相关的jar包依赖 2. 实现 XXXMapper接口 4. 如果需要修改Plus默认配置,需实现MybatisPlusConfig接口 ### 自动更新系统级字段 1. 定义一个公共的数据处理器 2. 为XxxDO配置注解 ### 集成验证框架步骤 1. 在pom.xml引入相关的jar包支持 2. 在待验证的实体里添加响应的注解 3. 在Controller中添加响应的注解 4. 做参数校验工具类,完成service层的验证 ### 集成Guava令牌桶实现全局限流功能 1. 先pom.xml引入Guava工具包的支持 2. 定义一个拦截器,实现令牌的发放和获取 3. 将拦截器配置到web系统中 ### 使用TraceId实现日志跟踪 1. 建立一个过滤器,在过滤器中给线程设置TraceId 2. Application类中加入注解@ServletComponentScan 保证filter被springboot扫描到 3. 将日志配置文件进行输出格式修改(添加traceId),把TraceId打印到日志中 ### 文件上传下载 1. 文件上传Controller,负责处理文件上传 2. 文件上传的服务接口,通过接口的形式来定义出文件上传的功能 3. 实现文件上传业务逻辑 4. 文件下载,采用静态路径映射的方式实现 ### 数据导出功能 1. pom.xml把相关的jar包配置好 2. UserController新增加数据导出的方法 3. 要实现数据导出的功能: * 定义导出实体 * 分批加载数据,分批使用EasyExcel导出 * 将导出的文件上传 ### 导出功能异步化 1. 先创建线程池 2. 将导出方法使用@Async注解标记为异步执行 ### 使用Swagger2帮助我们生成API文档 1. pom.xml引入jar包 2. 配置Swagger2的配置类 3. Controller和相关试题添加注解