9420 开发工具包


sanri-tools-maven 是一个开源的用于企业开发的工具包,重点想解决项目开发中一些比较麻烦的问题

根据表和模板生成相应代码;一些身份证,企业代码,车架号的验证与生成; kafka ,zookeeper,redis 的数据监控,模拟数据发送等功能


工具理念

  1. 轻量级,只依赖于文件系统
  2. 小工具,大作用,减少模板代码的手工编写
  3. 自定义框架,加快项目启动速度 ,目前项目启动时间为 600 ms 左右

已经有的工具

已经存在的工具可以在 /src/main/resources/com/sanri/config/tools.properties 中查看

  1. 方法或变量取名
  2. 数据提取
  3. 生份证号码生成与验证
  4. kafka 监控和 offset 设置,支持新旧版本 kafka
  5. zookeeper 数据监控
  6. 模板代码生成,根据列字段
  7. 列字段比较
  8. 数据库表字段,注释,名称查询,及后续模板代码操作
  9. webservice 调试工具,只要输入 wsdl 地址,自动解析并构建 xml 消息
  10. 下划线转驼峰,驼峰转下划线工具
  11. 图片转 base64 ,base64 转图片
  12. SQL 客户端,已经支持 mysql,postgresql,oracle ; 可自定义实现其它数据库
  • 表结构查询
  • pojo,xml 生成
  • 项目模板代码生成
  • 数据导出
  1. 数据表处理工具(SQL 客户端升级版 )
  • 可以根据变量自定义模板
  • 由多个模板组成一种方案
  • 单表使用模板生成,然后生成多种模板的代码后统一下载
  • 单表使用方案生成
  • 多表使用方案生成
  1. 增加聊天功能(可以学下 websocket 怎么用)

    • 保存历史消息,针对当前 session 标签页而言
    • 目前只能群聊
    • 只支持单独 tomcat7 以上部署,用 maven tomcat 插件是不行的
  2. 增加 redis 数据监控功能

  • 可以搜索 key 信息
  • 反序列化查看 key 数据,使用项目的实体进行反序列化,可以看查看到所有的实体列
  1. 增加响应数据模拟工具

扩展自己的工具

  • 除前端交互 servlet 必须写在 com.sanri.app.servlet 包中以外,其它随便自己定制
  • servlet 中的代码由于框架 javassist 的原因 ,不支持 java8 的 lambada 表达式
  • 数据表元数据信息保存在 InitJdbcConnections.CONNECTIONS 信息中
  • 配置信息统一使用 ConfigCenter 进行读取,保存的是配置树结构
  • 文件系统配置信息统一管理接口 FileManagerServlet
  • 目录结构说明 com.sanri
    • algorithm 写的算法存放目录
    • app 所有工具信息
      • servlet 存放所有与前端交互的 servlet
    • deginmodel 设计模式学习
    • frame 本项目自定义框架
    • initexec 初始化执行目录;放入本目录的文件,在启动的时候会查找 @PostConstruct 注解的方法执行

如何搭建环境

  1. 通过git下载源码

  2. 安装部分第三方包到 maven 仓库,源 jar 包已经放到 /src/main/resources 下面

    2.1 如何安装请参考 https://www.cnblogs.com/yadongliang/p/9829760.html

  3. 修改部分配置

    • function.open.properties 用于配置临时文件路径和产生的配置路径
    • tools.properties 配置当前环境可以展示哪些工具,里面是所有工具的配置信息
    • jdbcdefault.properties 项目初始化时加载的默认 jdbc 连接 ,可将你的数据库配置到这里
    • mapper_jdbc_java.properties 这个是生成 java 实体类时,数据库类型映射到 java 类型
    • db_mapper_mybatis_type.properties 这个是数据库类型映射到 mybatis 类型的映射表
  4. mvn jetty:run

  5. 注意事项

    5.1 需要1.8 以上的 jdk ,前端需 chrome es6 以上

    5.2 项目所在路径不能有中文,不然会启动失败

或者你想更快的运行起来

下载 release 的 tomcat 版本

https://github.com/sanri1993/sanri-tools-maven/releases

然后可以直接像运行 tomcat 项目,直接运行

  1. 常用模板

    常用配置信息,把所有内容复制到function.open.properties 配置的 data.config.path 路径中

  2. 隐私说明

  • 由于有些功能用到了个人帐号,我目前还是留在配置文件中,请勿用于非法用途
  • 如果有能力,请用私人帐号代替我的帐号
  • 此工具纯属个人爱好创作,请勿用于商业用途

如何交流、反馈、参与贡献?

  • 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 企业软件开发工具集的更多相关文章

  1. Open Source 开发工具集

    Open Source 开发工具集 转自:http://www.linuxforum.net原作者:gogoliu(Pooh-Bah) 编辑器: vi:老牌编辑器,在各个unix和unix-like平 ...

  2. ThoughtWorks、Teambition、Trello、Slack、DevCloud 主流敏捷软件开发工具平台比较

    在大公司做了6年程序员,2年项目经理的小王,正在创业公司迎来他焦虑的而立之年. 但是对于3个月前加入创业公司的决定,他现在有些烦躁和怀疑人生.在他过往的经验看来,公司新接的小项目,在过去的大公司里1个 ...

  3. PSP个人软件开发工具需求分析文档

    第一部分:前景与范围 1.业务需求 1.1 背景 在目前的软件项目开发过程中,进度计划总是非常不准确,经常出现延期,而且大多数都无法给出一个相对比较准确的延迟时间.即使使用用例包.用例的方式组织需求, ...

  4. PSP个人软件开发工具

    (您的阅读是我的荣幸,如有不满之处请留言指正!) 尚未完善.....工作中 为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力.   PSP个人软件开发工具 ...

  5. 你不得不用的MAC软件开发工具软件,个个万里挑一

    作为软件行业,尤其是程序员,Mac上都不得不安装一些必备的MAC软件开发工具软件,下面给大家分享一些必装的MAC软件开发工具软件,以备日后之需,有备无患. 其中,包含各种语言的主流 IDE.开发辅助. ...

  6. 界面开发工具集Telerik UI for ASP.NET AJAX发布R2 2019

    Telerik UI for ASP.NET AJAX拥有构建ASP.NET AJAX和SharePoint应用程序的80+控件,将为任何浏览器和设备构建Web Forms应用程序的时间缩短一半.Te ...

  7. 全新的跨平台app软件开发工具——Lae软件开发平台

    Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android ...

  8. Visual Studio 2015和ASP.NET 5中可用的前端开发工具集

    最近微软发布了一本白皮书,谈到了一些可以和Visual Studio 2015和ASP.NET 5配合使用的JS/前端Web开发工具(比如:函数库.任务执行器.框架等). 由于现在前端开发的生态系统在 ...

  9. 【转】软件开发工具介绍之 6.Web开发工具

    [本文转自http://www.cnblogs.com/dusonchen/archive/2011/02/09/1739087.html ] 1.EditPlus 无论是编写xhtml页面,还是cs ...

随机推荐

  1. numpy中数组(矩阵)的乘法

    我们知道在处理数据的时候,使用矩阵间的运算将会是方便直观的.matlab有先天的优势,算矩阵是它的专长.当然我们用python,经常要用到的可能是numpy这个强大的库. 矩阵有两种乘法,点乘和对应项 ...

  2. rust 函数-生命周期

    记录一下自己理解的生命周期. 每个变量都有自己的生命周期. 在c++里生命周期好比作用域, 小的作用域的可以使用大作用域的变量. 如果把这里的每个作用域取个名,那么就相当于rust里的生命周期注解. ...

  3. WeChair项目Beta冲刺(3/10)

    团队项目进行情况 1.昨日进展    Beta冲刺第三天 昨日进展: 昨天工作开始有条不紊地进行着,大家积极交流 2.今日安排 前端:扫码占座功能和预约功能并行开发 后端:扫码占座后端逻辑和预约功能逻 ...

  4. vue-admin-template搭建后台管理系统的学习(一)

    首先我们来看看这个基础模版的目录结构 ├── build // 构建相关  ├── config // 配置相关├── src // 源代码│   ├── api // 所有请求│   ├── ass ...

  5. Flutter学习笔记(37)--动画曲线Curves 效果

    如需转载,请注明出处:Flutter学习笔记(37)--动画曲线Curves 效果

  6. 第一章:开始启程-你的第一行Android代码

    Android 系统为开发者提供了什么? 四大组件 活动(Activity):界面 服务(Service):后台默默运行 广播接收器(Broadcast Receiver):接收.发送广播消息 内容提 ...

  7. java后台框架面试必须会的东西

  8. 四层发现-TCP和UDP发现简介

    虽然这里使用到了端口发现,但是四层发现阶段并不对端口进行解析,而是通过端口进行对ip是否存活的判断. 这里是对主机的发现,而不是对端口的识别. 四层发现的结果比三层发现的结果更加精确,基本不会被防火墙 ...

  9. 入门大数据---HDFS,Zookeeper,ZookeeperFailOverController(简称:ZKFC),JournalNode是什么?

    HDFS介绍: 简述: Hadoop Distributed File System(HDFS)是一种分布式文件系统,设计用于在商用硬件上运行.它与现有的分布式文件系统有许多相似之处.但是,与其他分布 ...

  10. egret canvas的style

    <canvas width="1920" height="1080" style=" cursor:auto;//鼠标样式 positon:ob ...