# SpringbootTemplate **Repository Path**: qipengwei/springboot-template ## Basic Information - **Project Name**: SpringbootTemplate - **Description**: springboot项目开发模板 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-29 - **Last Updated**: 2023-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SpringBoot, guava, mybatis-plus ## README ### 集成Mybatis Plus 步骤 1. 在pom.xml 文件引入相关jar包依赖 2. 实现xxxMapper接口 通过此接口来操作数据持久化 3. 对xxxDO实体进行注解的定义 如数据库表名 字段定义 4. 如需修改MybatisPlus默认配置 MybatisPlusConfig类 5. 如果需要自定义方法 需要实现 xxxMapper.xml 来定义方法 ### 自动更新系统级字段 1. 公共元数据处理器 2. 为xxxDO配置注解 ### 统一异常抛出 1. 实现一个异常处理类,并且用@ControllerAdvice修饰 ### 集成Caffeine缓存 1. @Cacheable 缓存数据 用在查询方法上 将查询数据进行缓存 2. @CachePut 用在更新方法中 将数据从缓存中进行更新 3. @CacheEvict 删除缓存 4. pom.xml cache相关jar包支持 5. CacheManager Bean 6. 使用注解 标志哪些方法需要缓存 ### 集成Guava令牌桶实现全局限流功能 1. 先pom.xml 引入Guava工具包的支持 2. 定义一个拦截器,实现令牌的发放和获取 3. 将拦截器配置到web系统中 ### 使用TraceId实现日志跟踪功能 1. 创建一个过滤器,在过滤器中给线程设置TraceId 2. 将日志配置文件进行修改,把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及相关的实体中写对应的注解