不想加班开发管理后台了,试试这个 Java 开源项目吧!
本文适合有 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 的相关课程之后并不知道应该继续学习什么、做些什么实战项目。因为我就有类似的经历 ,这里我的个人建议:学习不是目的,使用起来才是,学了就要用,学了却不去用,还不如不学,因为不久就会忘的一干二净。如果只是学习却不巩固你的大脑就会将其忘记,而「实践」就是巩固的最佳方法,希望你能在实践中体验设计程序的快乐!
至此,感谢您的阅读。项目涉及到的知识点比较多,如果你时间不够充裕,建议选择感兴趣或者合适的功能去学习,有基础建议直接阅读 官方文档。
如果你有感兴趣的开源项目,但是不知道怎么上手,欢迎留言告诉我们。《讲解开源项目系列》就是帮助大家快速上手开源项目,所以你的需求就是我们的使命~留言吧!
五、参考
不想加班开发管理后台了,试试这个 Java 开源项目吧!的更多相关文章
- .NET开发人员值得关注的七个开源项目 .
NET开发人员值得关注的七个开源项目 软近几年在.NET社区开源项目方面投入了相当多的时间和资源,不禁让原本对峙的开源社区阵营大吃一惊,从微软.NET社区中的反应来看,微软.NET开发阵营对开源工具的 ...
- 使用Java EE 在eclipse 开发动态的Web工程(Java web项目)
1.使用Java EE 在eclipse 开发动态的Web工程(Java web项目)1)开发开发选项切换到JavaEE2)可以在Windows->show view中找到package exp ...
- django+x-admin管理后台模板开发管理后台案例(设计部分)
使用django+x-admin管理后台模板搭建管理后台 一.环境需求 1.django:3.1 2.python:3.7 3.x-admin:2.2 4.pycharm:2020.3.2 5.ubu ...
- 【C/C++开发】值得学习的C语言开源项目
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...
- 国内最火的10款Java开源项目,都是国人开发,CMS居多
原文链接:https://www.cnblogs.com/jimcsharp/p/8266954.html 国内的开源环境已经相当好,但是国内开发注重是应用,创新有但不多,从榜单可以看出,专门搞技术的 ...
- Android开发:为什么我们从来不去感谢开源项目维护者?
今天我想谈一谈,为什么我们很少去感谢开源项目维护者: 一.这样的项目我也可以做啊 “蛤?这项目对我来说也太简单了吧.” “我一周之内就能做一个更好的版本出来.” 确实,很多人都可以在 Hackatho ...
- iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等
PushSharp (github) PushSharp是一个实现了由服务器端向移动客户端推送消息的开源C#库,支持 iOS (iPhone/iPad APNS). Android (C2DM/GC ...
- 如何调试 Java 开源项目源码,记一种源码导入开发工具并调试的通用方法
楔子 说起读开源项目源码,很多朋友觉得高大上.大佬牛逼,云云~ 挡在很多人面前的不是源码怎么读,而是不知道如何导入源码到开发工具以及如何调试源码. 本文将以 spring-cloud-gateway ...
- 基于bootstrap metronic-responsive-admin-dashboard-template 开发管理后台
简单介绍 我们这个系统是基于bootstrap metronic-responsive-admin-dashboard-template 这个模板开发的.版本用的是metronic_v4.5.2 效果 ...
随机推荐
- Python使用property函数和使用@property装饰器定义属性访问方法的异同点分析
Python使用property函数和使用@property装饰器都能定义属性的get.set及delete的访问方法,他们的相同点主要如下三点: 1.定义这些方法后,代码中对相关属性的访问实际上都会 ...
- PyQt(Python+Qt)学习随笔:QMainWindow的addDockWidget方法增加QDockWidget停靠窗到主窗口
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 DockWidget除了放在QMainWindow窗口内外,也可以放在 ...
- Python学习随笔:使用xlwings读取和操作Execl文件的数字需要注意的问题
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在使用xlwings读取Excel文件中的数据时,所有的数字不论是整数.浮点数还是文本存放的数字,在 ...
- 爬取网页内容后写入文件报错UnicodeEncodeError: 'gbk' codec can't encode的问题解决方案
老猿使用如下代码读取网页内容: req = urllib.request.Request(url=url,headers=header) text = urllib.request.urlopen(r ...
- PyQt(Python+Qt)学习随笔:toolButton的popupMode属性
属性介绍 toolButton的popupMode属性为设有菜单集或Action列表的toolButton指定菜单弹出模式,类型为枚举类型ToolButtonPopupMode,有如下三种模式: 1. ...
- Fiddle抓包应用概述
抓包: 抓包(packet capture)就是将网络传输发送与接收的数据包进行截获.重发.编辑.转存等操作,也用来检查网络安全.抓包也经常被用来进行数据截取等.说简单点就是抓取前端发送给服务器的数据 ...
- leetcode计划(二)——ps:复习面试题计划+锻炼计划
5.24周日 下周是新的一周,发布任务 一.leetcode计划题目:300,416,494,474(前四个动态规划)(plus:860),232,225,155(后三个栈) 建议之后可以先做:cs- ...
- BJWC2011 禁忌
题目链接 题解 多模式匹配首先建 AC 自动机,看到 \(len \le 10^9\) 想到矩阵乘法优化. 朴素 DP 关于分割的最大值,可以贪心,只要走到一个能匹配串的点立刻返回根继续匹配就行,一定 ...
- 二、JMeter的图形界面认识
JMeter的图形界面认识 JMeter是一个工具,应该去认识它,熟悉它,现在的能力还没达到去优化.改造它能力,所以先花时间熟悉它. JMeter的界面主要分为:菜单栏.工具栏.计划树标签栏.内容栏 ...
- sqlplus、lsnrctl命令工具不可用(libclntsh.so.11.1)
原因: libclntsh.so.11.1文件丢失了 解决方法: 在其他机器把这个文件拷贝到目标库安装目录底下的lib目录即可