Files
workutils/docs/项目说明.md
2026-06-16 17:41:14 +08:00

166 lines
3.9 KiB
Markdown

# 项目说明
## 项目概述
**项目名称**: workutils
**技术栈**: Spring Boot 3.2.3 + Java 21 + Maven
**项目类型**: Java工作工具集项目
**主要用途**: 金融科技(FinTech)系统的开发和维护工具集
## 主要功能模块
### 1. SQL代码分析工具
- MyBatis XML文件解析和SQL提取
- SQL语法检查和质量分析
- 数据库表引用扫描
- 支持跨项目批量扫描
- 问题SQL检测和报告生成
### 2. 代码扫描工具
- 关键字搜索和目录扫描
- Dubbo服务接口解析
- Redis键值对扫描
- 配置文件对比分析
- 项目依赖关系分析
### 3. 文件处理工具
- Markdown转Excel转换器
- CSV/Excel文件批量处理
- 文件批量操作和过滤
- 数据格式转换
### 4. Git操作工具
- 分支管理和对比
- 提交历史分析
- 版本控制自动化
- 代码差异检测
### 5. 配置管理工具
- Apollo配置对比
- 环境配置分析
- 数据库表清单管理
- 跨环境配置差异检查
## 核心功能说明
### MyBatis SQL分析模块
- 解析MyBatis XML映射文件
- 提取SQL语句并进行语法检查
- 识别潜在的性能问题
- 生成标准化的SQL报告
### Dubbo服务扫描
- 自动解析Dubbo注解和XML配置
- 提取服务提供者和消费者信息
- 生成服务接口清单
- 支持多项目并行扫描
### 关键字检索系统
- 支持全目录递归搜索
- 多种关键字匹配模式
- 生成详细的检索报告
- 支持正则表达式搜索
## 应用场景
主要用于**金融系统迁移、数据库重构、代码审查**等场景,包括:
- **系统架构升级**: 代码审计和依赖分析
- **数据库迁移**: SQL质量检查和优化
- **微服务架构**: 服务依赖关系梳理
- **生产环境**: 配置管理和对比分析
- **代码审查**: 自动化代码质量检查
## 技术特点
### 企业级特性
- 针对金融系统特点定制
- 支持大规模代码库扫描
- 高并发处理能力
- 企业级日志和错误处理
### 批量处理能力
- 支持多项目并行扫描
- 自动化的批量操作
- 性能优化的数据处理
### 标准化输出
- 生成标准格式的报告文件(CSV/Excel)
- 结构化的数据输出
- 易于集成到CI/CD流程
## 项目结构
```
workutils/
├── src/main/java/com/example/workutils/
│ ├── advanceinspect/ # 高级检查工具
│ ├── dubboscan/ # Dubbo扫描工具
│ ├── keywordscan/ # 关键字扫描工具
│ ├── model/ # 数据模型
│ ├── utils/ # 工具类
│ └── deprecated/ # 弃用代码
├── src/main/resources/
│ ├── config/ # 配置文件
│ ├── export/ # 输出文件目录
│ └── compare/ # 对比文件
└── pom.xml # Maven配置
```
## 依赖说明
项目使用的主要依赖包括:
- **Spring Boot**: 基础框架
- **MyBatis**: SQL解析
- **EasyExcel**: Excel文件处理
- **JGit**: Git操作
- **Dubbo**: 服务扫描
- **Apache Commons**: 工具库
## 使用方式
### 快速开始
```bash
# 编译项目
mvn clean compile
# 运行特定工具
java -cp target/classes com.example.workutils.advanceinspect.AllProjectSimpleXmlSQLExportorV5
```
### 配置说明
- 项目路径配置在 `src/main/resources/config/代码仓库项目路径.txt`
- 输出文件默认生成在 `src/main/resources/export/` 目录
- 支持自定义扫描规则和过滤器
## 输出文件格式
项目生成的标准输出格式包括:
- **CSV文件**: 适用于数据分析和导入
- **Excel文件**: 提供可视化报告
- **日志文件**: 详细的操作记录
## 注意事项
- 项目需要访问实际的代码仓库路径
- 部分功能需要配置相应的环境变量
- 建议在生产环境使用前进行充分测试
---
*这是一个高度专业化的内部工具集,主要服务于金融科技公司的开发和运维团队。*