本文適合有 Java 基礎並了解 SpringBoot 框架的同學
本文作者:HelloGitHub-嘉文
這里是 HelloGitHub 推出的《講解開源項目》系列,今天給大家帶來一款開源的 Java 后台管理框架——EL-ADMIN
它是一個基於 Spring Boot、Spring Data JPA、JWT、Spring Security、Redis、Vue、Element-UI 的前后端分離的后台管理系統。如果你想要學習上面這些框架的使用、增加實戰經驗、學習代碼規范,又或者找接私活開發的腳手架,提高賺錢的效率,EL-ADMIN 都能滿足你的需求。
簡單配置后可直接運行,極大地提高了你在開發管理后台的效率,從而有更多時間逛 HelloGitHub。不信?跟着本文,讓你 5 分鍾 跑起來一個功能豐富的管理后台項目。
一、快速開始
1.1 環境准備
后端環境:
- JDK 1.8+
- Maven 3.0+
- MYSQL 5.5+
- Redis 3.0+
前端環境:
- Node v10+
開發工具
- IDE:IDEA
- MySQL 可視化:Navicat
1.2 快速開始
(1)clone 項目
- GitHub:
# 后端項目
git clone https://github.com/elunez/eladmin.git
# 前端項目
git clone https://github.com/elunez/eladmin-web.git
- Gitee(國內訪問網速較快):
# 后端項目
git clone https://gitee.com/elunez/eladmin.git
# 前端項目
git clone https://gitee.com/elunez/eladmin-web.git
(2)導入 MySQL 數據庫
打開 Navicat,連接 MySQL,新建數據庫 eladmin,設置字符集和排序規則如下圖所示:
右鍵你新建的數據庫,選擇「運行 SQL 文件」,選擇 clone 的下來的 eladmin/sql/eladmin.sql
文件。
導入 SQL 數據成功,一共有 27 張表。
(3)運行后端項目
配置文件:使用 IDEA 打開后端項目 eladmin,等待 maven 下載結束后,打開配置文件 yml 配置數據庫,改成你機器上的 MySQL 或者 Redis 的 IP、端口和密碼。
MySQL 默認:
- url:localhost:3306
- 密碼:123456
Redis 默認:
- url:localhost:6379
- 密碼:無
運行后端項目:
(4)運行前端項目
在 clone 的前端項目「eladmin-web」文件夾下打開 cmd 命令行窗口。
# 安裝
npm install
# 運行
npm run dev
1.3 效果預覽
運行成功會自動彈出下面界面:
二、可能遇到的坑
2.1 端口占用
報錯信息:
我們這里使用其他端口,修改配置文件 application.yml
端口為 8001:
server:
port: 8001
注意:修改后端端口后,需要修改前端對應的請求接口。
2.2 npm install
安裝緩慢或者安裝失敗
設置淘寶鏡像源來解決
npm config set registry https://registry.npm.taobao.org
檢查是否設置成功
npm config get registry
三、如何學習這個項目
3.1 基本用途
EL-ADMIN 是一個簡單且易上手的 Spring boot 后台管理框架,你可以通過它學習到:
- Spring Boot、Spring Data JPA、JWT、Spring Security、Redis、Vue、Element-UI 等框架的使用
- 增加項目經驗
- 學習代碼規范
- 作為接私活開發的「腳手架」,提高賺錢效率(比如 項目代碼生成模塊 可以直接生成前后端代碼)
3.2 深入學習
了解完基本用途和快速開始之后,你想要更深層的學習這個開源項目的話,可以:
- 了解技術框架:如果你沒有了解 Spring Boot、Spring Data JPA、JWT、Spring Security、Redis、Vue、Element-UI 這些技術框架你應該先去了解它們,這是項目基石,不會的請網上搜索,因為 搜索是基本技能
- 了解項目結構:了解各個模塊和文件的主要作用
- 了解項目功能:了解項目實現的功能(比如說 權限驗證 ),這個項目使用了什么技術來實現「權限驗證」(JWT 和 Spring Security),你需要在源代碼里面將這個功能實現的大致流程看懂(你可以找到功能入口一層一層點進去或者 Debug 或者 自己寫一個類似功能)
3.3 怎么學習
學習一個開源項目,你應該首先要明確的是 你學習開源項目的目的,因為很多開源項目(比如 EL-ADMIN)代碼量還是比較大的,不同學習目的應該有不同的學習深度,而不是僅限於快速開始然后無從下手。
四、最后
很多同學學習 SpringBoot 的相關課程之后並不知道應該繼續學習什么、做些什么實戰項目。因為我就有類似的經歷 ,這里我的個人建議:學習不是目的,使用起來才是,學了就要用,學了卻不去用,還不如不學,因為不久就會忘的一干二凈。如果只是學習卻不鞏固你的大腦就會將其忘記,而「實踐」就是鞏固的最佳方法,希望你能在實踐中體驗設計程序的快樂!
至此,感謝您的閱讀。項目涉及到的知識點比較多,如果你時間不夠充裕,建議選擇感興趣或者合適的功能去學習,有基礎建議直接閱讀 官方文檔。
如果你有感興趣的開源項目,但是不知道怎么上手,歡迎留言告訴我們。《講解開源項目系列》就是幫助大家快速上手開源項目,所以你的需求就是我們的使命~留言吧!