簡介
該團隊經過多年大型企業中臺化改造項目的沉澱,不斷總結經驗教訓,不斷努力提升產能,不斷積極應對微服務改造過程中出現的分分合合。經歷無數日夜的持續迭代和優化,終於可以實現生成 70% 的適用於微服務架構的高質量範式化工程級代碼。此後,我們就很少加班,熱愛工作,並與領導成為了戰友,與客戶成為了朋友。
代碼生成器
如果說基礎框架是技術輪子,那麼我們就是生產線。不僅可以造出各種尺寸的輪子,通過我們的在線配置工具,還能生成您的更多業務所需,如:
- 創建多個數據庫鏈接,並從中導入數據表。
- 創建多個微服務,再關聯到一到多個數據庫鏈接。
- 數據表之間可建立服務內和跨服務的“一對一、一對多、多對多、字典和分組聚合計算”等關聯關係。
- 生成 Job 業務代碼,目前已支持“全量同步、增量同步、增量分組聚合轉換同步”等代碼模板。
- 創建表單並對接後臺接口,操作並顯示後臺數據。
在創建項目時,下圖所示的微服務組件可正交化組合。生成後的工程不僅可用於企業中臺化改造,同樣也適用於開發者進行微服務全技術棧的快速學習。
在線資源
覺得不錯可以轉發+關注支持一下,私信我【代碼生成器】即可
- 網站首頁。
- 教學視頻。
- 生成器操作指南。
- 後端代碼文檔。
- 前端代碼文檔。
- 更完整的演示項目。
主要功能
- 提供前後端主流技術棧組件,可按需選擇生成您的工程基礎架構。
- 可創建多數據庫、多應用服務,並導入業務數據表,配置服務內或跨服務的複雜表關係。
- 前端支持基於 Fragment 和 Block 的嵌套佈局,配置後即可生成多樣化的表單頁面,並可預覽。
- 操作權限和數據權限,靈活可配、運行時性能高度優化。
- 有別於其他產品,我們不僅提供了Job框架的集成,更能生成任務處理器的業務邏輯代碼。
- 微服務和單體服務的接口命名規則和參數定義完全一致,便於您今後的平滑升級。
競爭優勢
- 排在首位的就是15萬字以上的專業、詳盡、完善和暗黑護眼的操作指南、開發文檔和教學視頻。
- 真正的代碼生成器,而非腳手架,可生成相對複雜的中臺化業務代碼。
- 淺顯易懂的高質量生成後工程代碼,經過SonarQube和Alibaba代碼規範的嚴格掃描。
- 合理、全網超低價的教學版和企業版商業授權。(請我們擼一次串的價格)
開箱即用
項目信息如您所願,工程名稱、目錄結構、基礎包名、common模塊、代碼註釋中的@author信息等,在創建工程時即已配置,不會留有橙單的任何信息。因此無需二次修改,前後端直接編譯運行即可。如編譯器和運行時出現問題,那一定是我們的bug,在得到您反饋後,我們將及時修復。
技術選型
覺得不錯可以轉發+關注支持一下,私信我【代碼生成器】即可
- 前端: Element (Vue) / Ant Design (React) + ECharts / AntV + Axios + Webpack。
- 後端: Spring Boot / Spring Cloud / Spring Cloud Alibaba + Spring Security OAuth2 + Mybatis + Jwt。
- 工具庫: Hutool + Guava + Caffeine + Lombok + MapStruct + 通用Mapper。
- 服務組件: Redis + Zookeeper + Consul + Apollo + XXL-Job + Kafka + Nacos + Sentinel + Seata + Nepxion Discovery。
- 系統監控: ELK + PinPoint / SkyWalking + Grafana + Prometheus。
基礎功能
- 前端框架:單頁面、多標籤、多欄目和子路由,多套高顏值樣式模式可供選擇。
- 前端能力:列表編輯、統計圖表、明細數據下載、上傳下載、數據導出、自定義打印樣式模板、富文本等。
- 頁面佈局:支持基於 Fragment 和 Block 的靈活佈局方式,通過配置即可生成多樣化的表單頁面,並可預覽。
- 接口規範:微服務和單體服務的接口命名規則和參數定義完全一致,便於日後的平滑升級。
- 後臺架構:分佈式鎖、分佈式 Id 生成器、分佈式緩存、分佈式事務、分佈式限流和灰度發佈等,按需集成。
- 用戶管理:支持基於OAuth2的單點登錄。
- 操作權限:前端控制可精確到按鈕級的操作和標籤級的顯示,後臺統一攔截驗證更加安全。
- 數據權限:基於 Mybatis 攔截器 + JSqlParser 的實現方式,配置更靈活,代碼侵入性更低。
- 多數據源:可根據配置動態生成,路由策略靈活可擴展。
- 數據組裝:Java 註解方式實現數據組裝,支持統一接口的服務內和跨服務的一對一、一對多、多對多、字典、聚合計算等關係數據組合。
- 定時任務:我們不僅提供了 Job 基礎框架的集成,更能生成靈活可配、高度優化、便於二次開發的 Job 業務邏輯代碼。
- 系統監控:基於 Kafka + ELK 的日誌收集,基於 PinPoint/SkyWalking 的服務鏈路跟蹤,基於 GPE 的服務性能指標監控。
設計理念
- 前沿的單表組合式設計,使業務服務的拆分與再合併 SO EASY。
- 先代碼,後SQL的原則,讓服務橫向擴充更具彈性。
- 標準化的服務間調用接口,使業務服務組合更具正交性。
- 前後端基於約定各司其職,默契配合,讓系統運行飛起來。
- 可平滑的逐步演化為雲原生架構。
代碼質量
- 無任何二次封裝,只生成您最懂的代碼。
- 遵循阿里巴巴標準的代碼規範。
- SonarQube 基於最嚴格檢測規則的代碼掃描。
- 產品級代碼質量,層次清晰、滴水不漏。
- 近乎於0的代碼重複率,35%以上的註釋覆蓋率。
- 15年架構師優化的每一處細節。
規則掃描
此為在線演示工程的代碼審查報告,而非當前開源示例工程。前者代碼量更大,結構更復雜。
- SonarQube 掃描
- 基於SonarQube8.2缺省最嚴格的代碼掃描規則,其中代碼複雜度要求為15。
- 有氣味代碼共90處,其中85處為DTO、Model、常量字典、RPC接口等定義出現重複名稱所致,均與模擬實際業務有關。
- 其餘氣味代碼,是在權衡性能、可讀性和易修改性等因素後保留下來的,具體見圖4。
- Alibaba Code Guide 掃描
- 下載最新版本IDEA插件,同時打開所有審查條件。
- 全部代碼掃描通過。
- Statistic 代碼統計
- 生成代碼總量約為86000多行,主要包括Java、XML、YAML和SQL初始化腳本等。
- Java代碼覆蓋率為37%。
開源工程部署
- 數據初始化。
- 通過常用的數據庫訪問工具(如:navicat),執行工程目錄下的zz-orange-demo.sql文件。
- 導入腳本主要負責,數據庫創建、數據表創建和測試數據的插入。
- 環境準備。 docker是必選組件。通過docker-compose命令,可快速啟停服務所依賴的服務中間件,如nacos、redis、zookeeper、kafka和sentinel dashboard等。中間件的控制檯訪問方式,可參考工程目錄下的README文件。
<code># 假定當前目錄為工程根目錄。 cd zz-resource/docker-files # 啟動和停止帶有基礎服務中間件的docker-compose.yml文件 docker-compose up -d # 徹底終止容器 docker-compose down # 在第一次啟動之後,可以考慮每次執行下面的命令啟動和停止容器。 docker-compose start docker-compose stop /<code>
- 後臺工程導入。 以Maven的形式導入IDE,直接編譯運行即可。具體可參考我們的開發文檔教學版微服務工程導入章節。
- 後臺服務配置。
- 進入工程目錄下的 zz-resource/config-data/ 子目錄,修改和數據庫相關的配置,具體操作詳見下圖及文字註釋。
- 將該目錄下的所有配置文件導入nacos。nacos控制檯訪問地址 localhost:8848/nacos,用戶名和密碼 nacos/nacos。
- 具體導入方式可參考我們的開發文檔服務配置章節。
- 後臺服務啟動。 這裡僅以upms服務為例。在開發環境中,為每個微服務啟動項配置main class,下圖為IntelliJ IDEA中的配置截圖,配置後點擊Debug/Run按鈕即可啟動。
- 前端工程導入和啟動。
- 將前端工程導入vscode。
- 修改 src -> core -> config 下的配置文件,將baseUrl修改為您服務器地址。
- 安裝依賴,執行 npm install。
- 啟動前端服務,執行 npm run dev。
- 具體可參考我們的開發文檔教學版前端工程啟動段落。
主要截圖
覺得不錯可以轉發+關注支持一下,私信我【代碼生成器】即可