# 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