強推一個基於SpringCloudAlibaba的代碼生成器【附帶源碼+文檔+視頻】

2022-01-31 springmeng

本系統是基於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資料

相關焦點

  • mallcloud商城 `Spring Cloud Finchley`和`Spring Cloud Alibaba`
    # mallcloud-platformspringcloud版本商城  https://github.com/shenzhuan
  • SpringCloud Alibaba怎麼用?
    /projects/spring-cloud-alibaba阿里云為分布式應用開發提供了一站式解決方案。6.1從nacos獲取配置創建一個新的項目,還是基於alibaba的環境  com.alibaba.cloud  spring-cloud-starter-alibaba-nacos-discovery
  • SpringCloudAlibaba的學習筆記
    --spring cloud alibaba 2.1.0.RELEASE-->            <dependency>                <groupId>com.alibaba.cloud</groupId>                <artifactId>spring-cloud-alibaba-dependencies
  • Spring Cloud Alibaba基礎教程:Sentinel使用Apollo存儲規則
    </groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> <dependency> <groupId>com.alibaba.csp
  • SpringCloud Alibaba-nacos註冊中心
    Nacos 支持幾乎所有主流類型的「服務」的發現、配置和管理:Nacos 的關鍵特性包括:服務發現和服務健康監測Nacos 支持基於 DNS 和基於 RPC 的服務發現。服務提供者使用 原生SDK、OpenAPI、或一個獨立的Agent TODO註冊 Service 後,服務消費者可以使用DNS TODO 或HTTP&API查找和發現服務。
  • 【Spring Cloud Alibaba】Oauth2 授權認證服務
    Spring Security 基於 Servlet 過濾器、IoC 和 AOP,為 Web 請求和方法調用提供身份確認和授權處理,避免了代碼耦合,減少了大量重複代碼工作名詞英文說明第三方應用程式Third-party application又稱之為客戶端(client),比如上節中提到的設備(PC、Android、iPhone、TV、Watch),我們會在這些設備中安裝我們自己研發的 APP
  • Spring Cloud Alibaba之一:Nacos
    讓我們先給出一個簡單的定義,說一下什麼是Nacos。從官方文檔的定義看,Nacos致力於幫助我們發現、配置和管理微服務,它提供了一組簡單易用的特性集,幫助我們快速實現動態服務發現、服務配置、服務元數據及流量管理等功能。啊這.看完我當場就懵逼了,說人話行不行。
  • 【Spring Cloud Alibaba】Nacos 服務註冊與發現
    1、服務註冊首先創建一個名為:spring-cloud-alibaba-nacos-discovery 的引用,相關依賴為以下內容,核心依賴 spring-cloud-starter-alibaba-nacos-discovery<dependencies>
  • SpringCloudAlibaba之Sentinel流控熔斷
    引入 Sentinel 依賴<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
  • SpringCloud Alibaba微服務實戰二十一 - 整合Dubbo
    這裡我覺得還有另外一個點也是需要大家考慮的,很多公司在早期已經基於dubbo構建了很多底層微服務,如果全部使用cloud架構進行遷移相對比較麻煩,如果在cloud中能直接集成dubbo就簡單多了。<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-dubbo</artifactId></dependency>
  • 基於springboot打造文件文檔在線預覽項目【附帶源碼】
    作者:隔壁鄰居王師傅參考地址:https://gitee.com/kekingcn/file-online-preview文末附帶源碼項目特性支持office,pdf, cad等辦公文檔支持txt,java,php,py,md,js,css等所有純文本支持zip,rar
  • 網關 Spring-Cloud-Gateway 源碼解析 —— 網關初始化
    推薦 Spring Cloud 視頻:2. GatewayClassPathWarningAutoConfigurationSpring Cloud Gateway 2.x 基於 Spring WebFlux 實現。
  • Alibaba Sentinel規則持久化-推模式-手把手教程(基於Nacos)
    前面,已經為Sentinel實現了 Alibaba Sentinel 規則持久化-拉模式-手把手教程(基於文件) ,本文來實現基於 推模式的規則持久化。一、推模式架構圖TIPS圖片來自官方。lt;/artifactId></dependency>2 添加配置spring: cloud: sentinel: datasource: # 名稱隨意 flow: nacos: server-addr: localhost:8848
  • 芋道 Spring Cloud Alibaba 介紹
    本文在提供完整代碼示例,可見 https://github.com/YunaiV/SpringBoot-Labs原創不易,給點個 Star 嘿,一起衝鴨!1.先來一起看看 Spring Cloud 官方對自己的簡短介紹:FROM https://github.com/spring-cloudTools for building common patterns in distributed systems with Spring基於 Spring 構建分布式系統的
  • Spring Cloud Alibaba到底坑不坑?
    點擊藍色「程序猿DD」關注我喲加個「星標」,不忘籤到哦之前我發過一篇《說說我為什麼看好Spring Cloud Alibaba》,然後這兩天有網友給我轉了這篇文章《坑爹項目spring-cloud-alibaba
  • Spring Cloud Gateway奪命連環10問?
    Spring Cloud Gateway內置了許多Predict,這些Predict的源碼在org.springframework.cloud.gateway.handler.predicate包中,有興趣可以閱讀一下。內置的一些斷言如下圖:
  • 艿艿的 Spring Cloud Alibaba!開整~
    「本文在提供完整代碼示例,可見 https://github.com/YunaiV/SpringBoot-Labs原創不易,給點個 Star 嘿,一起衝鴨!1.先來一起看看 Spring Cloud 官方對自己的簡短介紹:「FROM https://github.com/spring-cloudTools for building common patterns in distributed systems with Spring基於 Spring 構建分布式系統的
  • Alibaba 之 Nacos
    <properties>    <spring-cloud.version>Finchley.SR2</spring-cloud.version>    <spring-cloud-alibaba.version>0.2.0.RELEASE</spring-cloud-alibaba.version>
  • Spring Cloud Alibaba組件:Sentinel實現接口限流示例
    Sentinel Dashboard安裝下載地址:github.com/alibaba/Sent使用命令啟動: java -Dserver.port=8088 -jar sentinel-dashboard-1.8.0.jar訪問地址:http://localhost:8088/
  • Spring Cloud Alibaba基礎教程:Sentinel Dashboard同步Apollo存儲規則
    最主要的區別是:配置中心的修改都可以實時的刷新到業務服務,從而被 SentinelDashboard讀取到,但是對於這些規則的更新到達各個業務服務之後,並沒有一個機制去同步到配置中心,作為配置中心的客戶端也不會提供這樣的逆向更新方法。改造方案關於如何改造,現來解讀一下官方文檔中關於這部分的說明:要通過 Sentinel 控制臺配置集群流控規則,需要對控制臺進行改造。