# tools-fileimport **Repository Path**: feitubc/tools-fileimport ## Basic Information - **Project Name**: tools-fileimport - **Description**: 可移植、可配置、兼容性高、性能高的批量导入框架 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2018-10-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # tools-fileimport #### 项目介绍 {**以下是 飞兔一号 的项目简介** 飞兔一号 是一款针对文件(目前支持xls、xlsx)导入的工具包,基于经典技术(JDK1.8、SpringMVC、多线程)与设计模式(模板方法、策略模式等)相结合,提供可移植、可配置、可扩展、性能高的框架。核心思想是采用模板方法抽取功能的通用步骤,通过策略模式来实现不同业务的具体实现,使用多线程来提高性能。 主要目的是能够让研发人员在开发导入功能时,更专注业务实现,其余(解析文件、记录导入日志,多线程处理业务)由框架来封装技术细节,降低技术难度,减少重复的工作量,统一技术实现,从而节省人力研发维护成本,缩短项目周期。 优势:整体架构清晰、稳定开源、入门简单、易于维护、易于扩展、高效处理。 #### 技术选型 1) 环境 JDK1.8 + Maven3.0.5 2) 框架 SpringMVC + 多线程 + 设计模式(单例、建造者、工厂、模板方法、策略模式、代理模式) #### 开发手册 1. 环境要求: 1) JDK 1.8 2) Eclipse Java EE IDE for Web Developers.(Neon.3 Release (4.6.3)) 3) Apache Maven 3.0.5 2. 环境准备 1) 检出源码 git clone https://gitee.com/feitubc/tools-fileimport.git 2) 运行 build.cmd (windows下,其他环境使用maven运行相关命令即可),本地私服生成 jar 3. 引入 jar 配置 com.feitubc.tools tools-fileimport 1.0.0 4. 引入配置 1) 引入核心Spring配置: 2) 引入配置属性文件(详见PS,配置属性说明) 5. 配置示例 1) PS,配置属性说明 2) PS,/spring/spring-config-excel-example-multi.xml 6. 记录日志配置(若 p:saveLog 配置为true,需配置,否则无需配置) 1) 初始化表(MySQL): 2) 日志记录对象配置(配置文件): baseLogService.domainName=com.feitubc.tools.fileimport.demo.domain.ImportOperateInfo , 其中"com.feitubc.tools.fileimport.demo.domain.ImportOperateInfo"对象必须继承 ImportLogObject,参考demo中的 ImportOperateInfo 3) 日志记录服务配置(配置文件): baseLogService.name=importOperateInfoServiceImpl , 其中"importOperateInfoServiceImpl"的接口必须继承BaseLogService,参考demo中的 ImportOperateInfoService 7. 可参考demo统一配置控制层和展示层 使用 SpringMVC + Velocity 时,可使用通用的控制层和统一页面展示 (参考demo) 1) 页面展示(/WEB-INF/views/importFile/*): 2) 控制层,可参考 com.feitubc.tools.fileimport.demo.controller.ImportFileController #### 源码地址 jar地址: https://gitee.com/feitubc/tools-fileimport.git demo地址:https://gitee.com/feitubc/tools-fileimport-demo.git