# springboot-manager
## 介绍
基于SpringBoot + Thymeleaf + Layui + Apache Shiro + Redis + Mybatis Plus 的后台管理系统
支持菜单权限与数据权限
数据库支持 MySQL、Oracle、sqlServer 等主流数据库
提供代码生成器,基本增删改查无需编写,可快速完成开发任务。
后台接口RESTful 风格,支持前后端分离,可与app公用一套接口。
开发最精简,可当脚手架,适合你来 DIY
**如果喜欢,防止您迷路, 请尽快Star项目。多了您的支持,更多了一份动力!感谢~**
## 特征
- 后台接口RESTful 风格,支持前后端分离,可与app公用一套接口
- 采用RBAC的权限控制,支持数据权限(用法见下)
- 统一响应结果封装及生成工具
- 统一异常处理
- Shiro + Redis 实现 Token 角色权限认证
- 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控
- 集成MyBatis-Plus,实现单表业务零SQL
- 支持多数据源,自由切换,只需方法或类上用 @DS 切换数据源
- 集成国人风格的knife4j,自动生成接口文档
- 提供代码生成器(MySQL、Oracle、sqlServer等主流数据库),生成从Html到Mapper,爽歪歪
## 代码仓库
Gitee地址:[https://gitee.com/zwens/springboot-manager](https://gitee.com/zwens/springboot-manager)
GitHub地址:[https://github.com/aitangbao/springboot-manager](https://github.com/aitangbao/springboot-manager)
如需更简洁版,请移步:[https://gitee.com/zwens/springboot-manager/tree/simple/](https://gitee.com/zwens/springboot-manager/tree/simple/)
## 开发文档&项目演示
- 演示地址:[http://manager.aitangbao.cn](http://121.42.10.80:8080)
- 账号密码:guest/123456
- 带宽1m 不太给力 请见谅 :joy:
## 代码结构
```
├─main
│ ├─java
│ │ └─com
│ │ └─company
│ │ └─project
│ │ ├─CompanyProjectApplication.java 项目启动类
│ │ ├─common 公共资源,如注解、切面、定时、全局异常处理、shiro集成、通用工具类等
│ │ ├─controller Controler层
│ │ ├─entity 实体类
│ │ ├─mapper DAO层
│ │ ├─service Service层
│ │ │ └─impl Service层实现
│ └─resources
│ ├── application-dev.yml 开发环境配置文件
│ ├── application-test.yml 测试环境配置文件
│ ├── application-prod.yml 生产环境配置文件
│ ├── application.yml 通用配置文件
│ ├── logback-spring.xml 日志配置文件
│ ├─mapper Mybatis XML文件
│ ├─static 静态文件
│ │ ├─css 通用css文件
│ │ ├─images 静态图片
│ │ ├─js 通用js文件
│ │ ├─layui layui库
│ │ └─layui-ext layui插件库
│ ├─template 代码生成模版
│ └─templates 项目页面目录
│ ├─depts 部门管理
│ ├─error 错误页面
│ ├─generator 代码生成管理
│ ├─logs 日志管理
│ ├─menus 菜单管理
│ ├─roles 角色管理
│ ├─syscontent 内容管理
│ ├─sysdict 字典管理
│ ├─sysfiles 文件管理
│ ├─sysjob 定时任务管理
│ ├─sysjoblog 定时任务日志管理
│ └─users 用户管理
└─test
└─java
└─com
└─company
└─project
├── CompanyFrameApplicationTests.java 单元测试
```
## 开发建议
- Model内成员变量建议与表字段数量对应,如需扩展成员变量(比如连表查询)建议创建VO,否则需在扩展的成员变量上加@TableField(exist = false)
- 建议业务失败直接使用throw new BusinessException("ErrorMessage")抛出,由统一异常处理器来封装业务失败的响应结果,会直接被封装为{"code":500002,"message":"ErrorMessage"}返回,尽情抛出;
- token支持header跟query传参形式,如:
- ajax中设置header:```beforeSend: function(request) {request.setRequestHeader("authorization", "有效的token");}```
- query:```?authorization=有效的token ```
## 使用说明
- 使用IDE导入本项目,IDE需要安装lombok插件
- 下载redis 启动redis
- 创建数据库, 导入***.sql
- 配置application-dev.yml中的redis以及数据库连接
- 运行项目
1. 直接运行CompanyProjectApplication.java
2. 项目根目录下执行mvn -X clean package -Dmaven.test.skip=true编译打包,然后执行java -jar manager.jar
- 登录地址 http://localhost:8080/index/login 用户名密码:admin/123456
- 代码生成使用
1. 逻辑删除字段,请统一用deleted字段: 1未删 0已删; 主键请统一格式: `id` varchar(50) 类型; 列名请勿使用数据库关键字
2. application.yml中配置: 使用代码生成模块时 指定要生成的表存在于哪种数据库。project.database=mysql
3. 点击[代码生成]菜单,生成一个或多个表的代码,下载到本地
4. 解压下载的代码,直接复制main文件夹到本地项目的src目录下
5. 数据库执行sql,生成菜单
6. 点击[角色管理]菜单,修改角色所绑定的菜单的权限,刷新页面查看
- 数据权限配置及使用 示例:文章管理列表
1. 需要数据权限所控制的表(如sys_content), 需要有创建人字段
2. 配置角色的数据范围(本部门,其他部门等), 以及绑定的部门
3. 在列表加个注解@DataScope(用来查询当前等路人的多个角色(并集), 根据角色数据范围, 获取绑定的部门id, 查关联的用户id)
4. 在查某个模块的list或page的时候,手动queryWrapper.in(createId, 关联的用户id)
## 技术文档
* 核心框架:[Spring Boot](https://spring.io/projects/spring-boot)
* 前端框架: [Layui](https://www.layui.com/)
* 持久层框架:[MyBatis-Plus](https://mybatis.plus)
* 分页:[Page](https://mybatis.plus/guide/page.html)
* 数据库连接池:[Alibaba Druid](https://github.com/alibaba/druid/)
* 安全框架:[Apache Shiro](http://shiro.apache.org/)
* 缓存框架:[Redis](https://redis.io/)
* 接口文档:[Knife4j](https://doc.xiaominfo.com/)
* 模板引擎:[Thymeleaf](https://www.thymeleaf.org/)
* 阿里巴巴Java开发手册[最新版下载](https://github.com/alibaba/p3c)
## 参与贡献
1. Fork 本项目
2. 新建 feature_xxx 分支
3. 提交代码
4. 提交 Pull Request
## **效果图**
![输入图片说明](https://raw.githubusercontent.com/aitangbao/images/master/1.png)
![输入图片说明](https://raw.githubusercontent.com/aitangbao/images/master/2.png)
### 捐赠
> 项目的发展离不开您的支持, 如果您够宽裕,请作者喝杯咖啡吧!
![image-20200506154143271](https://images.gitee.com/uploads/images/2020/0521/110630_6be55411_997722.png)
### 交流群
> 如果大家有疑难杂症,技术交流, 可以加我拉你们进群, 务必备注: 开源
![输入图片说明](https://raw.githubusercontent.com/aitangbao/images/master/3.jpg)
没有合适的资源?快使用搜索试试~ 我知道了~
基于SpringBoot + Thymeleaf + Layui + Apache Shiro + Redis + .zip
共314个文件
java:129个
gif:75个
js:34个
需积分: 5 0 下载量 13 浏览量
2024-02-04
16:38:27
上传
评论
收藏 1.88MB ZIP 举报
温馨提示
基于SpringBoot + Thymeleaf + Layui + Apache Shiro + Redis +
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot + Thymeleaf + Layui + Apache Shiro + Redis + .zip (314个子文件)
layui.css 78KB
layer.css 14KB
layui.mobile.css 10KB
zyupload-1.0.0.min.css 9KB
laydate.css 7KB
cron.css 4KB
login.css 2KB
code.css 1KB
custom.form.css 808B
treetable.css 294B
403.css 138B
404.css 138B
500.css 138B
Dockerfile 311B
iconfont.eot 46KB
59.gif 10KB
22.gif 10KB
24.gif 8KB
13.gif 7KB
16.gif 7KB
39.gif 6KB
64.gif 6KB
63.gif 6KB
50.gif 6KB
loading-0.gif 6KB
4.gif 6KB
1.gif 5KB
42.gif 5KB
71.gif 5KB
21.gif 5KB
20.gif 5KB
29.gif 5KB
70.gif 4KB
5.gif 4KB
17.gif 4KB
27.gif 4KB
9.gif 4KB
44.gif 4KB
11.gif 4KB
8.gif 4KB
3.gif 4KB
23.gif 4KB
34.gif 4KB
41.gif 4KB
38.gif 4KB
65.gif 3KB
32.gif 3KB
45.gif 3KB
7.gif 3KB
12.gif 3KB
26.gif 3KB
60.gif 3KB
2.gif 3KB
40.gif 3KB
25.gif 3KB
19.gif 3KB
66.gif 3KB
18.gif 3KB
46.gif 3KB
10.gif 3KB
28.gif 3KB
51.gif 3KB
57.gif 3KB
67.gif 3KB
0.gif 3KB
48.gif 3KB
43.gif 3KB
30.gif 2KB
61.gif 2KB
33.gif 2KB
69.gif 2KB
14.gif 2KB
47.gif 2KB
36.gif 2KB
49.gif 2KB
58.gif 2KB
6.gif 2KB
54.gif 2KB
53.gif 2KB
56.gif 2KB
62.gif 2KB
31.gif 2KB
55.gif 2KB
35.gif 2KB
15.gif 2KB
loading-2.gif 2KB
37.gif 1KB
68.gif 1KB
52.gif 777B
loading-1.gif 701B
.gitignore 109B
user_list.html 20KB
list.html 19KB
role_list.html 18KB
menu_list.html 17KB
list.html 16KB
home.html 14KB
dept_list.html 12KB
list.html 11KB
main.html 8KB
共 314 条
- 1
- 2
- 3
- 4
资源评论
码农阿豪
- 粉丝: 1w+
- 资源: 1754
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功