SpringBoot項目快速開發框架JeecgBoot——項目簡介及系統架構!

項目簡介及系統架構

Jeecg Boot是一款基于Spring Boot的開發平臺,它采用前后端分離架構,集成的框架有Spring Boot 2.x、Spring Cloud、Ant Design of Vue、Mybatis-plus、Shiro和JWT,而且它支持微服務開發。Jeecg Boot還有強大的代碼生成功能,能夠使用代碼生成器一鍵生成前后端代碼,實現項目的快速開發。

Jeecg Boot屬于低代碼開發平臺,可以應用在任何J2EE項目的開發中,尤其適合SaaS項目、企業管理信息系統(MIS)、內部辦公系統(OA)、企業資源計劃系統(ERP)、客戶關系管理系統(CRM)等,它具有半智能手工合并的開發方式,可以提高70%的開發效率或更多,極大地降低了開發成本。

系統功能介紹

Jeecg Boot有成熟的后端模板,也有很高的UI頁面水平,不需要做項目開發的重復性工作。Jeecg Boot還獨創了在線開發模式,包含一系列在線智能開發,如在線配置表單、在線配置報表、在線設計圖表和在線設計流程等。

JEECG團隊的開發宗旨是:簡單的功能由Online Coding配置實現(在線配置表單、在線配置報表、在線設計圖表、在線設計流程和在線設計表單),復雜的功能由代碼生成器生成,并進行手工合并,既能保證智能性又能兼顧靈活。

業務中的流程運轉采用工作流來實現,還能擴展流程任務接口,由開發者實現具體的業務邏輯。表單提供多種解決方案,如表單設計器、Online配置表單和編碼表單,還實現流程與表單的分離設計(松耦合),并支持任務節點的靈活配置,這樣既能保證公司流程的保密性,又能減少開發人員的工作量。Jeecg Boot框架已經具備大量可用的功能,在項目開發時可以直接利用現有功能,而不再需要二次開發。已經具備的功能如下:

├─系統管理

│ ├─用戶管理、角色管理、菜單管理、部門管理

│ ├─權限設置(支持按鈕權限、數據權限)、表單權限(控制字段禁用、隱藏)

│ ├─我的部門(二級管理員)、字典管理、分類字典、系統公告

│ └─職務管理、通訊錄、多租戶管理

├─消息中心

│ ├─消息管理、模板管理

├─代碼生成器(低代碼)

│ ├─代碼生成器功能(一鍵生成前后端代碼,生成后無須修改便可直接用,是后端開發的福

音)

│ ├─代碼生成器模板(提供4套模板,分別支持單表和一對多模型,有不同風格可供選擇)

│ ├─代碼生成器模板(生成代碼,自帶Excel導入和導出功能)

│ ├─查詢過濾器(查詢邏輯無須進行編碼,系統根據頁面配置自動生成)

│ ├─高級查詢器(彈窗自動組合查詢條件)

│ ├─Excel導入和導出工具集成(支持單表,一對多,導入和導出)

│ ├─平臺移動自適應支持

├─系統監控

│ ├─Gateway路由網關、性能掃描監控

│ │ ├─監控 Redis、Tomcat、JVM、服務器信息、請求追蹤、磁盤監控

│ ├─定時任務、系統日志

│ ├─消息中心(支持短信、郵件、微信推送等)

│ ├─數據日志(記錄數據快照,可對比快照查看數據變更情況)

│ ├─系統通知、SQL監控、swagger-UI(在線接口文檔)

│—報表示例

│ ├─曲線圖、餅狀圖、柱狀圖、折線圖、面積圖、雷達圖、儀表圖、進度條、排名列表

│—大屏模板

│ ├─作戰指揮中心大屏、物流服務中心大屏

│—常用示例

│ ├─自定義組件、對象存儲(對接阿里云)、JVXETable示例(各種復雜的ERP布局示例)

│ ├─單表模型示例、一對多模型示例、打印示例、一對多TAB示例

│ └─內嵌table示例、常用選擇組件、異步樹table、接口模擬測試

│ └─表格合計示例、異步樹列表示例、一對多JEditable

│ └─JEditable組件示例、圖片拖拽排序、圖片翻頁、圖片預覽、PDF預覽

│—封裝通用組件

│ ├─行編輯表格JEditableTable、省略顯示組件、時間控件、高級查詢

│ └─用戶選擇組件、報表組件封裝、字典組件、下拉多選組件、選人組件│ └─選部門組件、通過部門選人組件、在線code編輯器、上傳文件組件

│ └─封裝曲線、柱狀圖、餅狀圖、折線圖等報表組件

│ └─驗證碼組件、樹列表組件、表單禁用組件

│—更多頁面模板

│ ├─各種高級表單、各種列表效果、結果頁面、異常頁面、個人頁面

├─高級功能

│ ├─系統編碼規則、單點登錄CAS集成方案

│ ├─提供App發布方案、集成Web Socket消息通知機制

├─積木報表設計器(低代碼)

│ ├─打印設計器、數據報表設計、圖形報表設計(支持ECharts)

│—流程模塊功能(暫不開源)

│ ├─流程設計器、在線表單設計、我的任務、歷史流程

│ └─流程實例管理、流程監聽管理、流程表達式、我發起的流程

│ └─我的抄送、流程委派、抄送、跳轉

更多的功能還在開發中,有興趣的讀者可以關注其進度。

項目開發環境和前后端技術棧

Jeecg Boot的項目開發環境如下:

語言:Java 8;

IDE(Java):基于IDEA或Eclipse安裝Lombok插件;

IDE(前端):WebStorm或IDEA;

依賴管理:Maven;

數據庫:MySQL 5.7、Oracle 11g或SQL Server 2017;

緩存:Redis。

后端使用的技術棧如下:

基礎框架:Spring Boot 2.3.5.RELEASE;

微服務框架:Spring Cloud Alibaba 2.2.3.RELEASE;

持久層框架:Mybatis-plus 3.4.1;

安全框架:Apache Shiro 1.7.0、Jwt 3.11.0;微服務技術棧:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking;

數據庫連接池:阿里巴巴Druid 1.1.22;

緩存框架:Redis;

日志打印:Logback;

其他:Fastjson、Poi、Swagger-UI、Quartz、Lombok(簡化代碼)等。

前端使用的技術棧如下:

Vue 2.6.10、Vuex、Vue Router;

Axios;

ant-design-vue;

Webpack、YARN;

vue-cropper——頭像裁剪組件;

@antv/g2——Alipay AntV數據可視化圖表;

Viser-vue——antv/g2封裝實現;

eslint、@vue/cli 3.2.1;

vue-print-nb——打印。

系統結構

Jeecg Boot項目使用Maven作為依賴的管理工具,項目的目錄結構是標準的Maven目錄。其目錄結構如下:

|jeecg-boot

|--->jeecg-boot-base

|------->jeecg-boot-base-api

|----------->jeecg-system-cloud-api

|----------->jeecg-system-local-api

|------->jeecg-boot-base-core

|------->jeecg-boot-base-tools

|--->jeecg-boot-module-demo|--->jeecg-boot-module-system

|--->jeecg-boot-starter

|--->jeecg-boot-module

Jeecg Boot項目的父目錄為jeecg-boot,其中包含有多個模塊,如jeecg-boot-base、jeecg-boot-module-demo、jeecg-boot-module-system、jeecg-boot-starter和jeecg-boot-module。在這些模塊中,jeecg-bootstarter和jeecg-boot-module是微服務必需的項目,jeecg-boot是以SpringBoot為基礎搭建的項目,其他的模塊都以jeecg-boot為父模塊,而jeecg-boot-base下還有子模塊jeecg-boot-base-api、jeecg-boot-basecore和jeecg-boot-base-tools。

系統的功能模塊

本書使用的Jeecg Boot版本號為2.4.5,這是截至本書寫作時Jeecg Boot最新發布的版本。注意,Jeecg Boot 2.4.5版本底層使用的JDK版本和之前的章節使用版本有所不同,它使用的是JDK 1.8,請讀者注意更換。下載最新版的Jeecg Boot 2.4.5并將其導入IDEA中,會自動加載Maven的依賴,加載完成后,項目的目錄如圖8.1所示。

圖8.1 Jeecg Boot的目錄結構

在圖8.1中,項目名稱為jeecg-boot,jeecg-boot是父POM,對子模塊提供項目依賴,當前項目下有3個模塊,分別如下:

jeecg-boot-base為通用模塊,包括工具類、配置、權限、查詢過濾器、注解和接口等;

jeecg-boot-module-demo為項目的案例代碼模塊;

jeecg-boot-module-system為系統管理權限等功能模塊,默認作為啟動項目。jeecg-boot-base項目包括3個項目,分別如下:

jeecg-boot-base-api為API接口項目(又分為云API和本地API項目);

jeecg-boot-base-core為核心項目;

jeecg-boot-base-tools為Jeecg Boot的工具項目。

在后端項目開發中,只需要啟動jeecg-boot-module- system就可以訪問項目的首頁。jeecg-boot-starter為微服務啟動模塊,jeecg-cloud-module為微服務生態模塊,因為本次不涉及微服務,所以最后兩個模塊不用處理。

使用項目根目錄中的docker-compose.yml文件即可在Docker中啟動單一的Jeecg Boot項目,docker-compose- server.yml使用Docker啟動JeecgBoot和Nginx服務器。使用docker-compose.yml可以快速啟動服務,不需要一步一步地搭建依賴的應用。docker-compose.yml文件的內容如下:

version: '2'

services:

jeecg-boot-mysql:

build:

context: ./db

environment:

MYSQL_ROOT_PASSWORD: root

MYSQL_ROOT_HOST: '%'

TZ: Asia/Shanghai

restart: always

container_name: jeecg-boot-mysql

image: jeecg-boot-mysql

command:

--character-set-server=utf8mb4

--collation-server=utf8mb4_general_ci

--explicit_defaults_for_timestamp=true

--lower_case_table_names=1

--max_allowed_packet=128M

--default-authentication-plugin=caching_sha2_password

ports: - 3306:3306

jeecg-boot-redis:

image: redis:5.0

ports:

- 6379:6379

restart: always

hostname: jeecg-boot-redis

container_name: jeecg-boot-redis

jeecg-boot-system:

build:

context: ./jeecg-boot-module-system

restart: on-failure

depends_on:

- jeecg-boot-mysql

- jeecg-boot-redis

container_name: jeecg-boot-system

image: jeecg-boot-system

hostname: jeecg-boot-system

ports:

- 8080:8080

上述代碼使用的docker-compose.yml版本是2,使用了MySQL服務和Redis服務,最后啟動jeecg-boot-system服務完成項目的啟動。

本項目的數據庫腳本文件為
jeecg-boot/db/jeecgboot-mysql-5.7.sql,需要手動連接MySQL 5.7,再執行SQL腳本。使用不同的MySQL客戶端可能會出現錯誤,請注意修改,以完成SQL腳本的導入。

提示:如果使用了非MySQL數據庫,請注意使用對應的數據庫腳本。

配置文件

項目開發中涉及獨特的配置文件,包括數據庫的配置、Redis的配置和服務器端口的配置等。在Jeecg Boot項目中,配置文件保存在jeecg-boot
module-system/src/main/resources目錄下,開發時使用applicationdev.yml文件。因為本地開發使用的是開發環境,所以需要查看開發環境的配置。

數據庫的配置信息如下:

datasource:

master:

url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-

8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetri

e

val=true&serverTimezone=Asia/Shanghai

username: root

password: root

driver-class-name: com.mysql.cj.jdbc.Driver

Redis的配置如下:

redis:

database: 0

host: 127.0.0.1

lettuce:

pool:

max-active: 8 #最大的數據庫連接數量,設為-1表示沒有限制

max-idle: 8 #最大等待連接的數量,設為0表示沒有限制

#建立連接的最長等待時間,如果超過此時間將出現異常,設為-1表示無限制

max-wait: -1ms

min-idle: 0 #最小等待連接的數量,設為0表示沒有限制

shutdown-timeout: 100ms password: ''

port: 6379

讀者可根據自己的數據庫配置來修改代碼。當前項目使用的日志配置文件是logback- spring.xml,banner.txt為項目啟動的自定義標題圖案。其他的配置文件可以根據自身的需要進行修改,如非必要可以直接啟動項目,而不需要再修改配置。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/911777.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/911777.shtml
英文地址,請注明出處:http://en.pswp.cn/news/911777.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

工業設計軟件的范式革命:對象模型與五維市場驅動的未來

工業設計軟件的技術洗牌本質 破局關鍵:萬物對象模型的應用 工業設計的對象化重構 class IndustrialDesignObject:def __init__(self, obj_type, attributes):self.metadata = {"type": obj_type,"version": "1.0","entropy_rating"…

VMware 安裝Windows 虛擬機,Windows 虛擬機可 ping 通本地電腦,但本地電腦無法 ping 通虛擬機 IP 的解決思路和操作步驟

VMware 安裝Windows 虛擬機,Windows 虛擬機可 ping 通本地電腦,但本地電腦無法 ping 通虛擬機 IP 的問題如下圖所示: 解決辦法: 一、網絡連接模式與網段一致性 確認虛擬機網絡模式 若用 VMware 等軟件,常見模式有 NA…

高精度RTK定位導航模塊軟硬件協同設計

高精度RTK定位導航模塊軟硬件協同設計 下載鏈接:摘要1.1 RTK技術背景與發展現狀1.1.1 RTK技術原理與背景1.1.2 技術發展里程碑1.1.3 當前技術挑戰與突破1.1.4 應用場景擴展1.1.5 標準化進展1.2.1 高精度定位的計算瓶頸1.2.2 功耗優化需求1.2.3 系統可靠性與實時性保障1.2.4 典型…

【軟考高級系統架構論文】論多源數據集成及應用

論文真題 在如今信息爆炸的時代,企業、組織和個人面臨著大量的數據。這些數據來自不同的渠道和資源,包括傳感器、社交媒體、銷售記錄等,它們各自具有不同的數據格式、分布和存儲方式。因此如何收集、整理和清洗數據,以建立一個一致、完整的數據集尤為重要。多源數據集成可…

如何將這些 SQL 插入語句批量執行?

要批量執行這些SQL插入語句,可根據使用的數據庫管理系統(DBMS)選擇不同的方法。以下是幾種常見的批量執行方式: 1. 使用數據庫客戶端工具 MySQL / MariaDB 命令行:將所有SQL語句保存到文件(如cities.sql),然后執行: 登…

RedisVL EmbeddingsCache深度實踐與最佳指南

一、為什么需要 EmbeddingsCache 減少重復計算 對同一段文本,向量化模型會每次返回相同的嵌入。借助緩存,首次計算后無論后續何時再請求,都能直接復用上次結果。 降低業務延遲 嵌入模型推理耗時(數十毫秒到百毫秒不等&#xff09…

Docker Compose 與 Harbor 私有倉庫

目錄 簡介 一、Docker 容器重啟策略與狀態碼解析 (一)Docker 容器重啟策略詳解 (二)Docker 容器常見退出狀態碼 二、Docker Compose 工具深度應用 (一)Docker Compose 簡介與安裝 (二&am…

thinkphp8之文件上傳

文件上傳安裝 命令&#xff1a;composer require topthink/think-filesystem 二&#xff0e;上傳代碼、接收代碼 <form action"/index/index/index" enctype"multipart/form-data" method"post"> <input type"file" name…

【商業分析】價值流圖應用案例:服務器硬件生產

在當今競爭激烈的市場環境下&#xff0c;服務器硬件制造商面臨著諸多挑戰。本文中&#xff0c;田辛老師將深入探討價值流圖&#xff08;VSM&#xff09;在某服務器硬件生產中的應用案例&#xff0c;展示其如何助力企業實現降本增效。 一、價值流圖概述 &#xff08;一&#x…

系統性能優化-4 磁盤

系統性能優化-4 磁盤 磁盤作為計算機中速度最慢的硬件之一&#xff0c;常常是系統的性能瓶頸&#xff0c;優化磁盤一般能得到明顯的提升~ 文章以如何高效的傳輸文件來討論針對磁盤的優化技術&#xff0c;如零拷貝、直接 IO、異步 IO等。 最簡單的網絡傳輸 最簡單的方式的當然…

Windows注冊HTTP服務實現Jenkins Allure報告、測試日志永久訪問

使用 NSSM (Non-Sucking Service Manager) 將 Allure 報告的 HTTP 服務注冊為 Windows 后臺服務的詳細操作攻略&#xff0c;確保 Jenkins 測試結果可以長期通過 URL 訪問。 ? 目標 將 allure generate 生成的報告目錄托管為靜態網頁服務&#xff0c;并作為后臺服務運行&#…

從ADI與AMD的專利訴訟,看高端FPGA的巔峰對決

RFSoC,作為FPGA家族中的“貴族”,高端芯片中的尖端代表,技術積累要求高、利潤厚,售價貴,主要面向不差錢的軍用雷達處理、通信和測試/測量儀器用戶。 2019年,模擬芯片龍頭ADI公司,發起專利侵權訴訟,而嘗到甜頭的賽靈思,一邊反訴,一邊揶揄ADI公司:愛哭的娃未必有奶吃…

性能測試-jmeter實戰3

課程&#xff1a;B站大學 記錄軟件測試-性能測試學習歷程、掌握前端性能測試、后端性能測試、服務端性能測試的你才是一個專業的軟件測試工程師 性能測試-jmeter實戰3 負載測試穩定性測試負載測試曲線圖其他測試策略并發測試壓力測試容量測試 性能指標的介紹響應時間并發用戶數…

Maven鏡像

在 Maven 中配置多個鏡像源&#xff0c;主要是為了解決依賴包在不同地區下載速度不同的問題&#xff0c;或者為了使用特定的私有倉庫作為依賴源。Maven 支持在 pom.xml 文件中配置多個鏡像源&#xff08;repositories&#xff09;&#xff0c;也可以在 Maven 的全局配置文件 se…

ArduPilot 教程(2):運行第一個 SITL 無人機仿真

目錄 1. MAVLink 通信協議 2. MAVProxy 地面控制站 3. 運行 SITL 無人機仿真 3.1. 使用 MAVProxy 控制無人機 3.2. 使用 SITL 地圖界面控制無人機 4. MAVProxy 常用命令 5. 其它地面控制站 5.1. QGroundControl 5.2. MissionPlanner 5.3. 不啟用 MAVProxy 6. 本講小…

開源AI大模型驅動下視頻媒介對圖文生態的重構與S2B2C商業場景創新——基于AI智能名片與商城小程序源碼的實踐分析

摘要&#xff1a;數字媒介演進的進程中&#xff0c;視頻對圖片及文字的媒介侵蝕效應正呈現加速態勢&#xff0c;尤其在Z世代及新網民群體中&#xff0c;視頻已成為其觸網的首要信息載體。本文基于媒介技術迭代與商業場景融合的雙重視角&#xff0c;探究開源AI大模型如何通過智能…

Kafka線上集群部署方案:從環境選型到資源規劃思考

在分布式消息系統的落地應用中&#xff0c;Kafka集群的線上部署方案直接關系到業務系統的穩定性與性能表現。不同于測試環境的簡易搭建&#xff0c;生產級集群需要從操作系統適配、存儲介質選型、容量規劃到網絡資源調度等多維度進行系統性設計。本文將從工程實踐角度&#xff…

算法第40天|買賣股票的最佳時機 1 2 3

121. 買賣股票的最佳時機 題目 思路與解法 記錄每一天買或不買時的價值 class Solution { public:int maxProfit(vector<int>& prices) {// dp數組含義&#xff1a;// dp[i][0]:第i天&#xff0c;持有股票時的最大價值&#xff0c;dp[i][1]:第i天&#xff0c;不持…

【趙渝強老師】使用select...into outfile語句備份MySQL

MySQL可以使用select…into outfile語句將表的內容導出為一個文本文件。其基本的語法格式如下&#xff1a; select [列名] from 表名 [WHERE 語句] into outfile 目標文件 [其他選項];該語句分為兩個部分。前半部分是一個普通的select語句&#xff0c;通過這個select語句來查詢…

PHY XGE 自協商AN數據交互過程

在裸機環境下&#xff0c;兩個 **支持 10GBASE-T** 的 PHY 芯片通過 Clause 73 協議完成自協商&#xff08;Auto-Negotiation&#xff0c;AN&#xff09;&#xff0c;它們在 **無操作系統控制** 的條件下&#xff0c;完成以下 **完整的點對點數據交互流程**&#xff1a; --- ##…