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