不想加班开发管理后台了,试试这个 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 效果 ...
随机推荐
- [BJDCTF 2nd]假猪套天下第一 && [BJDCTF2020]Easy MD5
[BJDCTF 2nd]假猪套天下第一 假猪套是一个梗吗? 进入题目,是一个登录界面,输入admin的话会返回错误,登录不成功,其余用户可以正常登陆 以为是注入,简单测试了一下没有什么效果 抓包查看信 ...
- Springboot — 用更优雅的方式发HTTP请求:RestTemplate
RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率. 我之前的HTTP开发是用ap ...
- django 验证码
1.django 缓存设置 django的六种缓存(mysql+redis) :https://www.cnblogs.com/xiaonq/p/7978402.html#i6 1.1 安装Djang ...
- INS-06004 file operation on user's .ssh directory is not permitted
在搭建rac的时候不能先ssh到另一台服务器,否则安装程序无法自动创建/home/oracle/.ssh这个目录,然后就会报INS-06004这个错误了. 原因:在/home/oracle/这个路径下 ...
- 公司项目适配IOS9总结
1.JSONKit 项目在xcode7 IOS9 开发环境上报错,不能进行JSONSring和JSONData的使用 .在真机上没有问题,在模拟器上put和post数据适合JSONKit报空对象野指针 ...
- Kafka客户端编程入门介绍
1.maven依赖 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka ...
- RocketMQ集群搭建(3m-3s-async)
RocketMQ集群搭建(3m-3s-async) 各角色介绍 角色 作用 Producer 消息发送者,将消息发送到 Broker.无状态,其与NameServer集群中的一个节点建立长连接,定期从 ...
- .netcore3.1——应用AutoMapper
多层架构中存在多种模型,如视图模型ViewModel,数据传输对你DTO,ORM对象等,这些数据在层与层之间进行传输必须涉及类型之间的转换. AutoMapper是一个对象-对象映射器,作用是通过设置 ...
- 使用CentOS8来部署php7.4
使用CentOS8来部署php7.4 #安装REMI源 dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm #查看P ...
- vSphere Esxi 6.x 常用序列号
以下资料转载于互联网公开资料,不得用于商业用途,仅做学习交流. vSphere 6 Enterprise Plus1F6XH-8VJ9L-481Y9-L835P-CFHHA1G28U-AW18P-08 ...