mirror of
https://gitee.com/lakernote/easy-admin.git
synced 2026-09-03 05:33:47 +08:00
优化readme和lombok配置
This commit is contained in:
348
README.bak.md
348
README.bak.md
@@ -1,348 +0,0 @@
|
||||
# Easyadmin
|
||||
|
||||
> **有用的话请鼓励❤️下作者,右上角☝️watch、star、fork三连点🙏🙏🙏一波**
|
||||
|
||||
#### 🌵介绍
|
||||
|
||||
基于 **SpringBoot2+MybatiPlus+LayUI+Snaker+Mysql**技术,可**前后端分离开发**或者 **前后端一体式开发** ,一款**简单**、**轻量级**的 **后台管理系统脚手架** 。 **内置权限管理、工作流引擎、应用监控、Api文档、行为监控、前后端代码生成、动态定时任务、在线WebLog等** 。可以理解为 **轻量、升级版的若依/RuoYi** 。
|
||||
|
||||
**相比于若依优势如下**:
|
||||
|
||||
- **若依有的功能EasyAdmin都有,但是使用简洁、有效的轻量级实现,更少的依赖,更低的学习成本**
|
||||
- **若依缺乏的常用功能EasyAdmin也添加了,都是从我实际接触的项目提炼而来,例如:工作流、在线WebLog、应用监控、NginxUI等**
|
||||
- **EasyAdmin具有更全面的配套文档,这个项目也是由配套专栏[《从零搭建开发脚手架》](https://blog.csdn.net/abu935009066/category_10817814.html)整理而来**
|
||||
|
||||
> 这里没有说若依不好,若依是非常优秀的开源项目,我也是若依项目的使用者之一,**EasyAdmin**是我**根据工作中**很多**实际项目**锤炼出的一套非常适合**中小型**企业开发的框架,简单来说**EasyAdmin是杀鸡刀**,**若依是杀牛刀**,用户名可以根据具体的需求场景进行选择,莫喷、莫喷、莫喷。
|
||||
|
||||
**愿景**是打造一款**简单**、**轻量级**的**后台管理系统脚手架**⛳⛳⛳。目前使用的技术都是相对较轻量级、上手很容易的技术。例如:**Spring Boot**、**hutool-all**、**mybatis-plus** 、**knife4j** 、**sa-token**、**javamelody** 、**snakerflow** 等。**后续的发展方向也是把目标对准中小型项目**,**提炼简单高效架构**。
|
||||
|
||||
**适合场景:💋学生毕设学习、💋前后端项目练手、💋私活快速开发、💋中小型企业脚手架、💋Spring Boot深度扩展学习**等
|
||||
|
||||
**项目架构灵活多变**,**开发模式**支持**前后端分离**和**不分离**模式,**部署模式支持多种方式**:**Fat.jar模式**、**Nginx反向代理**、**Nginx正向代理**。
|
||||
|
||||
**项目地址**:[https://gitee.com/lakernote/easy-admin](https://gitee.com/lakernote/easy-admin)
|
||||
|
||||
📕**配套技术文章**:👉[从零搭建开发脚手架](https://blog.csdn.net/abu935009066/category_10817814.html)
|
||||
|
||||
> 本开源项目,也是从我的专栏《从零搭建开发脚手架》整理而来
|
||||
|
||||
📗**配套视频地址**:👉[B站欢迎一键三连](https://space.bilibili.com/502919442)
|
||||
|
||||
> 视频正在实时更新中,欢迎大家批评指导
|
||||
|
||||
|
||||
|
||||
#### 🌰 在线演示
|
||||
|
||||
🌽**地址**:[http://101.132.189.23:81/admin/login.html](http://101.132.189.23:81/admin/login.html)
|
||||
|
||||
> **低配机轻点拍**,**穷比**✈️✈️✈️✈️✈️✈️✈️
|
||||
|
||||
- **用户名/密码**:**laker**/**lakernote**(**普通员工**-老李提交请假申请)
|
||||
|
||||
- **用户名/密码**:**yang**/**lakernote**(**部门领导**-杨总审批)
|
||||
|
||||
- **用户名/密码**:**zhang**/**lakernote**(**公司领导**-大于2天张总审批)
|
||||
|
||||
> **当前处于开发阶段** ,由于我前端技术小白水平,开发进度较慢,还有很多功能未开发完成,有想一起开发的小伙伴,请加微信☎️【**lakernote**】联系我。
|
||||
|
||||
#### 🌴 功能列表
|
||||
|
||||
| 功能 | 状态 | 相关文档 |
|
||||
| ---------------------------------------------- | ---- | ------------------------------------------------------------ |
|
||||
| **用户管理、部门管理、菜单管理、角色管理** 🐾 | ✅ | |
|
||||
| **基于RBAC角色的访问控制** 🐾 | ✅ | [认证授权 sa-token](https://blog.csdn.net/abu935009066/article/details/115553517) |
|
||||
| **基于knife4j-Api文档集成** 🐾 | ✅ | [Knife4j替换swagger](https://blog.csdn.net/abu935009066/article/details/115512988) |
|
||||
| **基于javamelody应用监控** 🐾 | ✅ | [Javamelody-应用程序监控](https://blog.csdn.net/abu935009066/article/details/116936366) |
|
||||
| **基于Snakerflow的工作流引擎** 🐾 | ✅ | [轻量级工作流引擎Snakerflow集成](https://blog.csdn.net/abu935009066/article/details/119568513) |
|
||||
| **自定义注解+AOP用户行为分析** 🐾 | ✅ | [SpringBoot自定义注解+AOP实现用户行为监控](https://blog.csdn.net/abu935009066/article/details/119755927) |
|
||||
| **基于Freemrker的前后端代码一键生成** 🐾 | ✅ | |
|
||||
| **基于mybatis插件的数据权限控制** 🐾 | ✅ | [基于Mybatis-Plus的数据权限实现](https://blog.csdn.net/abu935009066/article/details/115481149) |
|
||||
| **基于SpringTask定时任务(支持动态CRUD任务)** 🐾 | ✅ | [基于Spring Task实现动态管理任务](https://blog.csdn.net/abu935009066/article/details/116142630) |
|
||||
| **在线WebLog、动态修改日志级别** 🐾 | ✅ | [在线WebLog、动态修改日志级别](https://blog.csdn.net/abu935009066/article/details/114121941) |
|
||||
| **保证服务的幂等性和防止重复请求** 🐾 | ✅ | [相关文档](https://blog.csdn.net/abu935009066/article/details/117471885) |
|
||||
| **独特的数据权限过滤功能** 🐾 | ✅ | |
|
||||
| **前端路由守卫** | ❎ | |
|
||||
| **前端按钮控制** | ❎ | |
|
||||
|
||||
#### 🌲软件架构
|
||||
|
||||
**其他相关文章**
|
||||
|
||||
- [从零搭建开发脚手架 HttpServletRequest多次读取异常,仅能读取一次](https://blog.csdn.net/abu935009066/article/details/113870578)
|
||||
- [从零搭建开发脚手架 Spring Boot 输入参数校验多种方式整理](https://blog.csdn.net/abu935009066/article/details/114001409)
|
||||
- [从零搭建开发脚手架 实现在线WebLog、动态修改日志级别](https://blog.csdn.net/abu935009066/article/details/114121941)
|
||||
- [跨站请求伪造(CSRF)示例、原理及其防御措施](https://blog.csdn.net/abu935009066/article/details/114366771)
|
||||
- [从零搭建开发脚手架 Spring Boot集成Mybatis-plus之一](https://blog.csdn.net/abu935009066/article/details/114535661)
|
||||
- [从零搭建开发脚手架 Spring Boot集成Flyway实现数据库版本管理](https://blog.csdn.net/abu935009066/article/details/114586037)
|
||||
- [Spring Boot Tomcat临时目录tmp抛错误异常](https://blog.csdn.net/abu935009066/article/details/114596193)
|
||||
|
||||
##### 🌳技术选型
|
||||
|
||||
**前端**:
|
||||
|
||||
**底座是Layui**
|
||||
|
||||
- https://gitee.com/pear-admin/Pear-Admin-Layui
|
||||
- https://gitee.com/zhongshaofa/layuimini
|
||||
|
||||
> 这里重点感谢Layui、Pear-Admin-Layui、layuimini,我一个前端小白,学习一周就能撸出来EasyAdmin了。
|
||||
|
||||
**后端**
|
||||
|
||||
- **Spring Boot 2.3.7.RELEASE**
|
||||
- **hutool-all 工具类**
|
||||
- **lombok**
|
||||
- **mybatis-plus 3.4.2**
|
||||
- **druid 数据库连接池**
|
||||
- **mysql 数据库**
|
||||
- **knife4j Api文档**
|
||||
- **sa-token 认证授权**
|
||||
- **javamelody 应用监控**
|
||||
- **easyexcel Excel处理**
|
||||
- **mail 邮箱**
|
||||
- **snakerflow 国产工作流引擎**
|
||||
|
||||
#### 🌼开发教程
|
||||
|
||||
##### 服务端
|
||||
|
||||
**1.执行**`sql/easy-admin.sql`
|
||||
|
||||
**2.修改**`src/main/resource/application.yaml`
|
||||
|
||||
```yaml
|
||||
server:
|
||||
port: 8080
|
||||
spring:
|
||||
datasource:
|
||||
username: root
|
||||
password: 123456
|
||||
url: jdbc:mysql://localhost:3306/laker?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=false
|
||||
```
|
||||
|
||||
**3.运行**`EasyAdminApplication.java`
|
||||
|
||||
> windows系统会自动在浏览器打开首页。超级管理员用户名密码:admin/ilovelaker
|
||||
|
||||
##### 前端
|
||||
|
||||
> 有2种方式供选择
|
||||
|
||||
**方式一、Spring Boot虚拟磁盘模式**
|
||||
|
||||
运行`EasyAdminApplication.java`会自动在浏览器打开首页。**属于一体化开发模式**。
|
||||
|
||||
**方式二、纯静态模式**
|
||||
|
||||
纯静态的,可直接在浏览器运行,**属于前后端分离开发模式**。
|
||||
|
||||
1.修改配置`web/admin/config/pear.config.yml`
|
||||
|
||||
```javascript
|
||||
## 配置服务端地址
|
||||
admin:
|
||||
server: http://localhost:8080
|
||||
```
|
||||
|
||||
2.在`web/admin/index.html`处,如下图示例操作,点击图标就可以在浏览器访问了
|
||||
|
||||

|
||||
|
||||
#### 🍄代码生成
|
||||
|
||||
执行`CodeGenerator.java`,按照提示输入即可,以下为示例和解释
|
||||
|
||||
```
|
||||
--------生成文件输出目录---------
|
||||
D:\JT\easy-admin/src/main/java
|
||||
-----------------
|
||||
请输入模块名:
|
||||
module.ext // 仅仅会影响生成java代码路径D:\JT\easy-admin/src/main/java/com/laker/admin/module/ext
|
||||
请输入表名,多个英文逗号分割:
|
||||
ext_log // 影响前端代码生成路径D:\JT\easy-admin/web/admin/view/ext/log
|
||||
// 影响接口定义 http://xx:port/ext/log
|
||||
```
|
||||
|
||||
生成好后,直接在菜单权限处,配置访问路径`view/ext/log.html`即可访问新建模块
|
||||
|
||||
#### 🍂规约
|
||||
|
||||
数据库表命名:模块名+实体,例如:ext_log
|
||||
|
||||
数据库字段:主键定义为bigint,且命名为:业务Id,例如:logId
|
||||
|
||||
#### 🍃项目截图
|
||||
|
||||
**在线WebLog**
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>登录<img src="https://img-blog.csdnimg.cn/2386829492fa4741b871220ab6aaad29.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>首页<img src="https://img-blog.csdnimg.cn/4c466d0ed24743fcb6230fe4328c3f8c.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>在线用户<img src="https://img-blog.csdnimg.cn/09a4a31ef44a41399887d250f430067a.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>待办任务<img src="https://img-blog.csdnimg.cn/024278a0328d401898c262bf7e32e2c0.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>已办任务<img src="https://img-blog.csdnimg.cn/cd77ef0d500844dc914a32670e4e32d0.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>流程图<img src="https://img-blog.csdnimg.cn/e9f117ffdaaa4ad9ae0bb29592d3a608.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>行为监控<img src="https://img-blog.csdnimg.cn/69525f193a5741cc95094e2121ca4b71.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>应用监控<img src="https://img-blog.csdnimg.cn/0c040c5a9d3f42b7a8cea95bb16396dc.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>NginxUI<img src="https://img-blog.csdnimg.cn/dbc8a3b0d10b4841990812a82f5580fc.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>请假申请<img src="https://img-blog.csdnimg.cn/d51d3b32b0e84e58aa55423d9299ce40.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>定时任务<img src="https://img-blog.csdnimg.cn/49e61cfd0fcc47078654a80ed65891bf.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>定时任务日志<img src="https://img-blog.csdnimg.cn/b55e4aef91ee470186f8c55c3f6ca68c.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>基本资料<img src="https://img-blog.csdnimg.cn/d07a48218f8349078c4fa8d345ddc848.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>修改密码<img src="https://img-blog.csdnimg.cn/46e2c744a11644b4b021d87b1afb652d.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>用户管理<img src="https://img-blog.csdnimg.cn/f0c9fc81e116485481d051f79b7ee2a7.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>角色管理<img src="https://img-blog.csdnimg.cn/baf0a3dfd118463d821626977f25c768.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>权限管理<img src="https://img-blog.csdnimg.cn/50e5e190334141cdbaa6dd434e41e662.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>接口文档<img src="https://img-blog.csdnimg.cn/c1c130d423444fadb153041cab047dbc.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>流程定义<img src="https://img-blog.csdnimg.cn/620ea0928e1d4af7a15a502ea4ef279e.png"></center>
|
||||
</td>
|
||||
<td style="font-size: 12px;font-weight: bolder;">
|
||||
<center>WebLog<img src="https://img-blog.csdnimg.cn/5c54c137ff3c484db6e09040bdf38a0b.png"></center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#### 🌺部署教程
|
||||
|
||||
**整体部署规划结构如下:**
|
||||
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
##### 服务端
|
||||
|
||||
> 先使用`mvn clean package`命令进行打包成Jar.
|
||||
|
||||
**1.执行**`easy-admin.sql`
|
||||
|
||||
**2.修改**`application.yaml`
|
||||
|
||||
```yaml
|
||||
server:
|
||||
port: 8080
|
||||
spring:
|
||||
datasource:
|
||||
username: root
|
||||
password: 123456
|
||||
url: jdbc:mysql://localhost:3306/laker?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=false
|
||||
```
|
||||
|
||||
**3.启动**
|
||||
|
||||
```sh
|
||||
nohup java -jar easy-admin-1.0.0.jar &
|
||||
```
|
||||
|
||||
> 由于验证码涉及到java安全协议,建议使用脚本启动 `sh run.sh start`
|
||||
|
||||
##### 前端
|
||||
|
||||
**首先修改配置**`web/admin/config/pear.config.yml`,填写你自己服务器实际ip、port
|
||||
|
||||
```javascript
|
||||
## 配置服务端地址
|
||||
admin:
|
||||
server: http://localhost:8080
|
||||
```
|
||||
|
||||
**按照相对位置放即可**(或者自己弄个nginx丢进去)
|
||||
|
||||
```
|
||||
easy-admin.jar
|
||||
application.yml
|
||||
run.sh
|
||||
web
|
||||
--admin
|
||||
----admin
|
||||
----compoment
|
||||
----config
|
||||
----view
|
||||
----index.html
|
||||
----login.html
|
||||
```
|
||||
|
||||
##### 校验
|
||||
|
||||
**浏览器访问**`http://ip:port/admin`
|
||||
|
||||
> **如果部署失败请查看**[Easyadmin部署及部署常见问题解决](https://blog.csdn.net/abu935009066/article/details/120529971),**或者联系作者**。
|
||||
|
||||
### ☎️联系方式☎️
|
||||
|
||||
**个人微信: lakernote**(进群加我拉你,备注:easyadmin)
|
||||
|
||||

|
||||
|
||||
|
||||
------------------------------------------------
|
||||
|
||||
**微信公众号** : **李哥聊架构**
|
||||
|
||||

|
||||
@@ -1,4 +0,0 @@
|
||||
# easy-admin
|
||||
|
||||
#### Description
|
||||
easy,easy,easy,打造一个简单、轻量级的后台管理系统脚手架。
|
||||
31
README.md
31
README.md
@@ -2,17 +2,11 @@
|
||||
|
||||
> **有用的话请鼓励❤️下作者,右上角☝️watch、star、fork三连点🙏🙏🙏一波**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
| SpringBoot版本 | JDK版本 | Mysql | Tomcat | 分支 |
|
||||
| -------------- | ------- | ------ | ------ | ------------------------------------------------------------ |
|
||||
| 2.3.xx | 8 | 5.7.xx | 9.x | [master](https://gitee.com/lakernote/easy-admin/tree/master/) |
|
||||
| 3.1.xx | 17 | 8.xx | 10.x | [springboot3](https://gitee.com/lakernote/easy-admin/tree/springboot3/) |
|
||||
|
||||
|
||||
|
||||
#### 🌵介绍
|
||||
|
||||
基于 **SpringBoot2(JDK1.8)+MybatiPlus+LayUI+Snaker+Mysql5.7**技术,可**前后端分离开发**或者 **前后端一体式开发** ,一款**简单**、**轻量级**的 **后台管理系统脚手架** 。 **内置权限管理、工作流引擎、应用监控、Api文档、行为监控、前后端代码生成、动态定时任务、在线WebLog等** 。可以理解为 **轻量、升级版的若依/RuoYi** 。
|
||||
@@ -197,17 +191,18 @@ ext_log // 影响前端代码生成路径D:\JT\easy-admin/web/admin/view/ext/
|
||||
|
||||

|
||||
|
||||
|
||||
#### 🌺部署教程
|
||||
|
||||
**整体部署规划结构如下:**
|
||||
1.执行`mvn clean package`,会生成一个包含前后端和、配置、启动脚本的ZIP.
|
||||
|
||||
> 目录为:`target/easyAdmin-local-1.0.0.zip`
|
||||
|
||||
**easyAdmin.zip目录结构如下:**
|
||||
|
||||

|
||||
|
||||
##### 服务端
|
||||
|
||||
> 先使用`mvn clean package`命令进行打包成Jar.
|
||||
|
||||
**1.执行**`easy-admin.sql`
|
||||
|
||||
**2.修改**`application.yaml`
|
||||
@@ -240,21 +235,7 @@ admin:
|
||||
server: http://localhost:8080
|
||||
```
|
||||
|
||||
**按照相对位置放即可**(或者自己弄个nginx丢进去)
|
||||
|
||||
```
|
||||
easy-admin.jar
|
||||
application.yml
|
||||
run.sh
|
||||
web
|
||||
--admin
|
||||
----admin
|
||||
----compoment
|
||||
----config
|
||||
----view
|
||||
----index.html
|
||||
----login.html
|
||||
```
|
||||
> 也可以把前端放在Nginx中。
|
||||
|
||||
##### 校验
|
||||
|
||||
|
||||
14
lombok.config
Normal file
14
lombok.config
Normal file
@@ -0,0 +1,14 @@
|
||||
# 指明lombok的根目录为当前配置文件所在目录 阻止lombok继续向上层目录查找配置文件
|
||||
config.stopBubbling=true
|
||||
# 在生成的代码上添加@lombok.Generated注解
|
||||
lombok.addLombokGeneratedAnnotation=true
|
||||
# 生成toString方法时, callSuper的默认值
|
||||
lombok.tostring.callsuper=CALL
|
||||
# 生成equals 和 hashCode方法时, 控制在生成的 equals 和 hashCode 方法中是否调用父类的对应方法
|
||||
# callSuper的默认值 lombok.core.configuration.CallSuperType
|
||||
# CALL: 在生成的 equals 和 hashCode 方法中调用父类的对应方法。
|
||||
# SKIP: 不调用父类的方法,只考虑当前类中的属性。
|
||||
# WARN: 生成代码时会发出警告,提醒开发者是否需要调用父类的方法。
|
||||
lombok.equalsandhashcode.callsuper=CALL
|
||||
# 生成的setter方法不再是void, 而是返回this, 方便链式调用
|
||||
lombok.accessors.chain=true
|
||||
Reference in New Issue
Block a user