本文适合有 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 项目
# 后端项目 git clone .git # 前端项目 git clone -web.git
# 后端项目 git clone # 前端项目 git clone
(2)导入 MySQL 数据库
打开 Navicat,连接 MySQL,新建数据库 eladmin,设置字符集和排序规则如下图所示:
右键你新建的数据库,选择「运行 SQL 文件」,选择 clone 的下来的 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 端口占用
报错信息:
我们这里使用其他端口,修改配置文件 a 端口为 8001:
server: port: 8001
注意:修改后端端口后,需要修改前端对应的请求接口。
2.2 npm install 安装缓慢或者安装失败
设置淘宝镜像源来解决
npm config set registry
检查是否设置成功
npm config get registry
三、如何学习这个项目
3.1 基本用途
EL-ADMIN 是一个简单且易上手的 Spring boot 后台管理框架,你可以通过它学习到:
3.2 深入学习
了解完基本用途和快速开始之后,你想要更深层的学习这个开源项目的话,可以:
- 了解技术框架:如果你没有了解 Spring Boot、Spring Data JPA、JWT、Spring Security、Redis、Vue、Element-UI 这些技术框架你应该先去了解它们,这是项目基石,不会的请网上搜索,因为 搜索是基本技能
- 了解项目结构:了解各个模块和文件的主要作用
- 了解项目功能:了解项目实现的功能(比如说 权限验证 ),这个项目使用了什么技术来实现「权限验证」(JWT 和 Spring Security),你需要在源代码里面将这个功能实现的大致流程看懂(你可以找到功能入口一层一层点进去或者 Debug 或者 自己写一个类似功能)
3.3 怎么学习
学习一个开源项目,你应该首先要明确的是 你学习开源项目的目的,因为很多开源项目(比如 EL-ADMIN)代码量还是比较大的,不同学习目的应该有不同的学习深度,而不是仅限于快速开始然后无从下手。
四、最后
很多同学学习 SpringBoot 的相关课程之后并不知道应该继续学习什么、做些什么实战项目。因为我就有类似的经历 ,这里我的个人建议:学习不是目的,使用起来才是,学了就要用,学了却不去用,还不如不学,因为不久就会忘的一干二净。如果只是学习却不巩固你的大脑就会将其忘记,而「实践」就是巩固的最佳方法,希望你能在实践中体验设计程序的快乐!
至此,感谢您的阅读。项目涉及到的知识点比较多,如果你时间不够充裕,建议选择感兴趣或者合适的功能去学习,有基础建议直接阅读 官方文档。
如果你有感兴趣的开源项目,但是不知道怎么上手,欢迎留言告诉我们。《讲解开源项目系列》就是帮助大家快速上手开源项目,所以你的需求就是我们的使命~留言吧!