sanri-tools-maven 企業軟體開發工具集

  • 2020 年 7 月 15 日
  • 筆記

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 如何安裝請參考 //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 版本

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

然後可以直接像運行 tomcat 項目,直接運行

  1. 常用模板

    常用配置資訊,把所有內容複製到function.open.properties 配置的 data.config.path 路徑中

  2. 隱私說明

  • 由於有些功能用到了個人帳號,我目前還是留在配置文件中,請勿用於非法用途
  • 如果有能力,請用私人帳號代替我的帳號
  • 此工具純屬個人愛好創作,請勿用於商業用途

如何交流、回饋、參與貢獻?

  • Git倉庫://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 工具增加主題實時消費功能,可以選擇類載入器和序列化,實現原始數據輸出
  • 支援偽在線更新版本,後續將開發真正的在線更新

演示效果圖

首頁

數據表工具

模板程式碼生成

kafka 消費組列表
kafka 消費組消費主題分區監控

kafka 主題管理

kafka 分區數據查看

kafka json 數據查看

kafka 模擬數據發送

redis 數據監控

響應數據模擬