1. 程式人生 > 實用技巧 >sanri-tools-maven 企業軟體開發工具集

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

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

演示效果圖