本系統是基於SpringCloudAlibaba的代碼生成器系統由橙單開發完畢,僅限制學習使用,禁止商用。
文章參考地址:https://gitee.com/orangeform/orange-admin系統附帶源碼、文檔、視頻,具體的見文末。
橙單生成器如果說基礎框架是技術輪子,那麼我們就是生產線。不僅可以造出各種尺寸的輪子,通過我們的在線配置工具,還能生成您的更多業務所需,如:
在創建項目時,下圖所示的微服務組件可正交化組合。生成後的工程不僅可用於企業中臺化改造,同樣也適用於開發者進行微服務全技術棧的快速學習。
提供前後端主流技術棧組件,可按需選擇生成您的工程基礎架構。
可創建多資料庫、多應用服務,並導入業務數據表,配置服務內或跨服務的複雜表關係。
前端支持基於 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 + Knife4j + qdox。
服務組件: Redis + Zookeeper + Consul + Apollo + XXL-Job + Minio + 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 的服務性能指標監控。
接口文檔:目前已集成 Knife4j,同時支持基於 qdox 解析生成後工程的 Java 代碼,並實現了 0 註解的 Postman 接口導出。
設計理念前沿的單表組合式設計,使業務服務的拆分與再合併 SO EASY。
先代碼,後SQL的原則,讓服務橫向擴充更具彈性。
標準化的服務間調用接口,使業務服務組合更具正交性。
前後端基於約定各司其職,默契配合,讓系統運行飛起來。
可平滑的逐步演化為雲原生架構。
代碼質量規則掃描此為在線演示工程的代碼審查報告,而非當前開源示例工程。前者代碼量更大,結構更複雜。
SonarQube 掃描
基於SonarQube8.2預設最嚴格的代碼掃描規則,其中代碼複雜度要求為15。
有氣味代碼共90處,其中85處為DTO、Model、常量字典、RPC接口等定義出現重複名稱所致,均與模擬實際業務有關。
其餘氣味代碼,是在權衡性能、可讀性和易修改性等因素後保留下來的,具體見圖4。
Alibaba Code Guide 掃描
下載最新版本IDEA插件,同時打開所有審查條件。
全部代碼掃描通過。
Statistic 代碼統計
開源工程部署目錄說明
微服務後端工程:orange-demo-multi-service
微服務前端工程:orange-demo-multi-web
單體服務後端工程:orange-demo-single-service
單體服務前端工程:orange-demo-single-web
數據初始化。
環境準備。
docker是必選組件。通過docker-compose命令,可快速啟停服務所依賴的服務中間件,如nacos、redis、zookeeper、kafka和sentinel dashboard等。中間件的控制臺訪問方式,可參考工程目錄下的README文件。
# 假定當前目錄為工程根目錄。
cd zz-resource/docker-files
# 啟動和停止帶有基礎服務中間件的docker-compose.yml文件
docker-compose up -d
# 徹底終止容器
docker-compose down
# 在第一次啟動之後,可以考慮每次執行下面的命令啟動和停止容器。
docker-compose start
docker-compose stop
後臺工程導入。
以Maven的形式導入IDE,直接編譯運行即可。具體可參考我們的開發文檔教學版微服務工程導入章節。
後臺服務配置。
後臺服務啟動。
這裡僅以upms服務為例。在開發環境中,為每個微服務啟動項配置main class,下圖為IntelliJ IDEA中的配置截圖,配置後點擊Debug/Run按鈕即可啟動。
前端工程導入和啟動。
主要截圖橙單生成器開發文檔演示工程微服務中間件關注公眾號,回覆:springcloud資料