9420 开发工具包
sanri-tools-maven 是一个开源的用于企业开发的工具包,重点想解决项目开发中一些比较麻烦的问题
根据表和模板生成相应代码;一些身份证,企业代码,车架号的验证与生成; kafka ,zookeeper,redis 的数据监控,模拟数据发送等功能
工具理念
- 轻量级,只依赖于文件系统
 
- 小工具,大作用,减少模板代码的手工编写
 
- 自定义框架,加快项目启动速度 ,目前项目启动时间为 600 ms 左右
 
已经有的工具
已经存在的工具可以在 /src/main/resources/com/sanri/config/tools.properties 中查看
- 方法或变量取名
 
- 数据提取
 
- 生份证号码生成与验证
 
- kafka 监控和 offset 设置,支持新旧版本 kafka
 
- zookeeper 数据监控
 
- 模板代码生成,根据列字段 
 
- 列字段比较 
 
- 数据库表字段,注释,名称查询,及后续模板代码操作
 
- webservice 调试工具,只要输入 wsdl 地址,自动解析并构建 xml 消息
 
- 下划线转驼峰,驼峰转下划线工具
 
- 图片转 base64 ,base64 转图片
 
- SQL 客户端,已经支持 mysql,postgresql,oracle ; 可自定义实现其它数据库
 
- 表结构查询
 
- pojo,xml  生成
 
- 项目模板代码生成
 
- 数据导出
 
- 数据表处理工具(SQL 客户端升级版 )
 
- 可以根据变量自定义模板
 
- 由多个模板组成一种方案
 
- 单表使用模板生成,然后生成多种模板的代码后统一下载
 
- 单表使用方案生成
 
- 多表使用方案生成
 
- 
增加聊天功能(可以学下 websocket 怎么用)
- 保存历史消息,针对当前 session 标签页而言
 
- 目前只能群聊
 
- 只支持单独 tomcat7 以上部署,用 maven  tomcat 插件是不行的
 
 
- 
增加 redis 数据监控功能
 
- 可以搜索 key 信息
 
- 反序列化查看 key 数据,使用项目的实体进行反序列化,可以看查看到所有的实体列
 
- 增加响应数据模拟工具
 
扩展自己的工具
- 除前端交互 servlet 必须写在 com.sanri.app.servlet 包中以外,其它随便自己定制
 
- servlet 中的代码由于框架 javassist 的原因 ,不支持 java8 的 lambada 表达式
 
- 数据表元数据信息保存在 InitJdbcConnections.CONNECTIONS 信息中
 
- 配置信息统一使用 ConfigCenter 进行读取,保存的是配置树结构
 
- 文件系统配置信息统一管理接口 FileManagerServlet
 
- 目录结构说明 com.sanri
- algorithm 写的算法存放目录
 
- app 所有工具信息
- servlet 存放所有与前端交互的 servlet
 
 
- deginmodel 设计模式学习
 
- frame 本项目自定义框架
 
- initexec 初始化执行目录;放入本目录的文件,在启动的时候会查找 @PostConstruct 注解的方法执行
 
 
如何搭建环境
- 
通过git下载源码
 
- 
安装部分第三方包到 maven 仓库,源 jar 包已经放到 /src/main/resources 下面
2.1 如何安装请参考 https://www.cnblogs.com/yadongliang/p/9829760.html
 
- 
修改部分配置
- function.open.properties 用于配置临时文件路径和产生的配置路径
 
- tools.properties  配置当前环境可以展示哪些工具,里面是所有工具的配置信息
 
- jdbcdefault.properties 项目初始化时加载的默认 jdbc 连接 ,可将你的数据库配置到这里
 
- mapper_jdbc_java.properties  这个是生成 java 实体类时,数据库类型映射到 java 类型
 
- db_mapper_mybatis_type.properties  这个是数据库类型映射到 mybatis 类型的映射表
 
 
- 
mvn jetty:run
 
- 
注意事项
5.1 需要1.8 以上的 jdk ,前端需 chrome es6 以上
5.2 项目所在路径不能有中文,不然会启动失败
 
或者你想更快的运行起来
下载 release 的 tomcat  版本
https://github.com/sanri1993/sanri-tools-maven/releases
然后可以直接像运行 tomcat 项目,直接运行
- 
常用模板
常用配置信息,把所有内容复制到function.open.properties 配置的 data.config.path 路径中 
 
- 
隐私说明
 
- 由于有些功能用到了个人帐号,我目前还是留在配置文件中,请勿用于非法用途
 
- 如果有能力,请用私人帐号代替我的帐号
 
- 此工具纯属个人爱好创作,请勿用于商业用途
 
如何交流、反馈、参与贡献?

更新记录
2019/09/13 更新
- 优化多表方案生成的时候,选表卡死问题
 
- 增加模板代码生成的时候,可以直接复制代码,直接复制高亮的代码会有问题
 
- 去掉了旧的 kafka 监控,目前只支持新版本 kafka ,而且配置暂时还没理解透彻对于需要用户密码的,如果需要配置,可以私信我。
 
- 站内聊天优化了滚动条
 
2020/01/22 更新
- 
优化了 kafka 监控,增加消息时间,所有分区数据查看并以消息时间倒序排序,每次刷新可以获取分区消息的变化量,增加 JSON 数据模拟发送
 
- 
解决 kafka 创建时 sasl 验证模式问题,现可以直接在界面以不同验证方式创建 kafka 连接
 
- 
数据表工具加入刷新功能,创建数据表后不用重新启动项目了
 
- 
数据表代码生成增加 tk.mybats 生成完整可运行的 springboot 项目
 
- 
解决取名工具无法创建业务的问题
 
- 
增加快速建表,这是个简单功能,后续版本会加强
 
- 
待解决:数据表增加表关系,根据表关系来生成代码; 快速建表加强,可以使用以前的表字段来快速建表
 
2020/05/18 更新
- 
增加快速建表功能,可以根据以前的表结构进行快速建表
 
- 
引入类加载器内部功能,可以上传类来操作一些序列化,响应数据模拟功能
 
- 
增加 redis 数据监控工具,查看 redis 拓扑结构
 
- 
增加响应数据模拟工具,可用于在开发时定义好数据结构就可以快速模拟数据,方便给前端提供模拟结构
 
- 
待优化:可能考虑在 tablehelp 中加入索引查看与新建功能,不知道这块的需求有多大
 
- 
待优化:现在上传 DTO 的流程太过复杂,后面考虑上传单个 class 文件,或者直接动态编译 Java 类
 
2020/07/09 更新
- 首页增加每个工具的使用说明
 
- 数据表工具表格列增加主键标识
 
- 类加载器上传 dto 优化,可以上传单个 class 或单个 java 源文件; zip 上传优化可以不用关心 class 的层次结构 , zip2 后缀兼容以前的完整路径
 
- 小说抓取代码优化,数据抓取已经封装注解,可以更方便的抓取数据,不仅仅是抓取小说
 
- redis 数据查看优化,hash list 结构数据为避免数据过大,添加 key 和范围查询
 
- 优化随机数据生成,使支持任意类型,除了树型结构
 
- 增加 swaggerui 文档生成,可以转 word 文档
 
- kafka 工具增加删除消费组功能,可以更好的配置 kafka 连接
 
- kafka 工具增加流量监控功能,可以监控 实时,每分钟,每5分钟,每 15 分钟的数据流量; 使用 mBean ,基于 jmxPort
 
- kafka 工具增加主题实时消费功能,可以选择类加载器和序列化,实现原始数据输出
 
- 支持伪在线更新版本,后续将开发真正的在线更新
 
演示效果图











sanri-tools-maven 企业软件开发工具集
原文:https://www.cnblogs.com/sanri1993/p/13303630.html