sanri-tools-maven 企業軟體開發工具集
- 2020 年 7 月 15 日
- 筆記
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 如何安裝請參考 //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 版本
//github.com/sanri1993/sanri-tools-maven/releases
然後可以直接像運行 tomcat 項目,直接運行
- 由於有些功能用到了個人帳號,我目前還是留在配置文件中,請勿用於非法用途
- 如果有能力,請用私人帳號代替我的帳號
- 此工具純屬個人愛好創作,請勿用於商業用途
如何交流、回饋、參與貢獻?
- 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 工具增加主題實時消費功能,可以選擇類載入器和序列化,實現原始數據輸出
- 支援偽在線更新版本,後續將開發真正的在線更新
演示效果圖