sanri-tools-maven 企业软件开发工具集
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 生成
- 项目模板代码生成
- 数据导出
- 可以根据变量自定义模板
- 由多个模板组成一种方案
- 单表使用模板生成,然后生成多种模板的代码后统一下载
- 单表使用方案生成
- 多表使用方案生成
增加聊天功能(可以学下 websocket 怎么用)
- 保存历史消息,针对当前 session 标签页而言
- 目前只能群聊
- 只支持单独 tomcat7 以上部署,用 maven tomcat 插件是不行的
- 可以搜索 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 项目,直接运行
- 由于有些功能用到了个人帐号,我目前还是留在配置文件中,请勿用于非法用途
- 如果有能力,请用私人帐号代替我的帐号
- 此工具纯属个人爱好创作,请勿用于商业用途
如何交流、反馈、参与贡献?
- Git仓库:https://gitee.com/sanri/sanri-tools-maven
- 官方QQ群:645576465
- 技术讨论、二次开发等咨询、问题和建议,请移步到 QQ 群,我会在第一时间进行解答和回复
- 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持
- 微信扫码并关注我,获得项目最新动态及更新提醒
更新记录
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 企业软件开发工具集的更多相关文章
- Open Source 开发工具集
Open Source 开发工具集 转自:http://www.linuxforum.net原作者:gogoliu(Pooh-Bah) 编辑器: vi:老牌编辑器,在各个unix和unix-like平 ...
- ThoughtWorks、Teambition、Trello、Slack、DevCloud 主流敏捷软件开发工具平台比较
在大公司做了6年程序员,2年项目经理的小王,正在创业公司迎来他焦虑的而立之年. 但是对于3个月前加入创业公司的决定,他现在有些烦躁和怀疑人生.在他过往的经验看来,公司新接的小项目,在过去的大公司里1个 ...
- PSP个人软件开发工具需求分析文档
第一部分:前景与范围 1.业务需求 1.1 背景 在目前的软件项目开发过程中,进度计划总是非常不准确,经常出现延期,而且大多数都无法给出一个相对比较准确的延迟时间.即使使用用例包.用例的方式组织需求, ...
- PSP个人软件开发工具
(您的阅读是我的荣幸,如有不满之处请留言指正!) 尚未完善.....工作中 为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力. PSP个人软件开发工具 ...
- 你不得不用的MAC软件开发工具软件,个个万里挑一
作为软件行业,尤其是程序员,Mac上都不得不安装一些必备的MAC软件开发工具软件,下面给大家分享一些必装的MAC软件开发工具软件,以备日后之需,有备无患. 其中,包含各种语言的主流 IDE.开发辅助. ...
- 界面开发工具集Telerik UI for ASP.NET AJAX发布R2 2019
Telerik UI for ASP.NET AJAX拥有构建ASP.NET AJAX和SharePoint应用程序的80+控件,将为任何浏览器和设备构建Web Forms应用程序的时间缩短一半.Te ...
- 全新的跨平台app软件开发工具——Lae软件开发平台
Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android ...
- Visual Studio 2015和ASP.NET 5中可用的前端开发工具集
最近微软发布了一本白皮书,谈到了一些可以和Visual Studio 2015和ASP.NET 5配合使用的JS/前端Web开发工具(比如:函数库.任务执行器.框架等). 由于现在前端开发的生态系统在 ...
- 【转】软件开发工具介绍之 6.Web开发工具
[本文转自http://www.cnblogs.com/dusonchen/archive/2011/02/09/1739087.html ] 1.EditPlus 无论是编写xhtml页面,还是cs ...
随机推荐
- numpy中数组(矩阵)的乘法
我们知道在处理数据的时候,使用矩阵间的运算将会是方便直观的.matlab有先天的优势,算矩阵是它的专长.当然我们用python,经常要用到的可能是numpy这个强大的库. 矩阵有两种乘法,点乘和对应项 ...
- rust 函数-生命周期
记录一下自己理解的生命周期. 每个变量都有自己的生命周期. 在c++里生命周期好比作用域, 小的作用域的可以使用大作用域的变量. 如果把这里的每个作用域取个名,那么就相当于rust里的生命周期注解. ...
- WeChair项目Beta冲刺(3/10)
团队项目进行情况 1.昨日进展 Beta冲刺第三天 昨日进展: 昨天工作开始有条不紊地进行着,大家积极交流 2.今日安排 前端:扫码占座功能和预约功能并行开发 后端:扫码占座后端逻辑和预约功能逻 ...
- vue-admin-template搭建后台管理系统的学习(一)
首先我们来看看这个基础模版的目录结构 ├── build // 构建相关 ├── config // 配置相关├── src // 源代码│ ├── api // 所有请求│ ├── ass ...
- Flutter学习笔记(37)--动画曲线Curves 效果
如需转载,请注明出处:Flutter学习笔记(37)--动画曲线Curves 效果
- 第一章:开始启程-你的第一行Android代码
Android 系统为开发者提供了什么? 四大组件 活动(Activity):界面 服务(Service):后台默默运行 广播接收器(Broadcast Receiver):接收.发送广播消息 内容提 ...
- java后台框架面试必须会的东西
- 四层发现-TCP和UDP发现简介
虽然这里使用到了端口发现,但是四层发现阶段并不对端口进行解析,而是通过端口进行对ip是否存活的判断. 这里是对主机的发现,而不是对端口的识别. 四层发现的结果比三层发现的结果更加精确,基本不会被防火墙 ...
- 入门大数据---HDFS,Zookeeper,ZookeeperFailOverController(简称:ZKFC),JournalNode是什么?
HDFS介绍: 简述: Hadoop Distributed File System(HDFS)是一种分布式文件系统,设计用于在商用硬件上运行.它与现有的分布式文件系统有许多相似之处.但是,与其他分布 ...
- egret canvas的style
<canvas width="1920" height="1080" style=" cursor:auto;//鼠标样式 positon:ob ...