10k+点赞的 SpringBoot 后台管理系统
其实项目网上有很多了,但是教程比较详细的没多少,今天分享的项目从安装部署到代码具体功能都有很详细都说明
eladmin 是一款基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。这个开源项目基本稳定,并且后续作者还会继续优化。完全开源!这个真的要为原作者点个赞,如果大家觉得这个项目有用的话,建议可以稍微捐赠一下原作者支持一下。后端整理代码质量、表设计等各个方面来说都是很不错的。前后端分离,前端使用的是国内常用的 vue 框架,也比较容易上手。
系统功能用户管理:提供用户的相关配置,新增用户后,默认密码为123456
角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限
菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单
部门管理:可配置系统组织架构,树形表格展示
岗位管理:配置各个部门的职位
字典管理:可维护常用一些固定的数据,如:状态,性别等
系统日志:记录用户操作日志与异常日志,方便开发人员定位拍错
SQL监控:采用druid 监控数据库访问性能,默认用户名admin,密码123456
定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然
代码生成:高灵活度生成前后端代码,减少大量重复的工作任务
邮件工具:配合富文本,发送html格式的邮件
七牛云存储:可同步七牛云存储的数据到系统,无需登录七牛云直接操作云数据
支付宝支付:整合了支付宝支付并且提供了测试账号,可自行测试
服务监控:监控服务器的负载情况
运维管理:一键部署你的应用
项目结构
项目采用按功能分模块的开发方式,结构如下eladmin-common 为系统的公共模块,各种工具类,公共配置存在该模块
eladmin-system 为系统核心模块也是项目入口模块,也是最终需要打包部署的模块
eladmin-logging 为系统的日志模块,其他模块如果需要记录日志需要引入该模块
eladmin-tools 为第三方工具模块,包含:图床、邮件、云存储、本地存储、支付宝
eladmin-generator 为系统的代码生成模块,代码生成的模板在 system 模块中
详细结构
- eladmin-common 公共模块
- annotation 为系统自定义注解
- aspect 自定义注解的切面
- base 提供了Entity、DTO基类和mapstruct的通用mapper
- config 自定义权限实现、redis配置、swagger配置、Rsa配置等
- exception 项目统一异常的处理
- utils 系统通用工具类
- eladmin-system 系统核心模块(系统启动入口)
- config 配置跨域与静态资源,与数据权限
- thread 线程池相关
- modules 系统相关模块(登录授权、系统监控、定时任务、运维管理等)
- eladmin-logging 系统日志模块
- eladmin-tools 系统第三方工具模块
- eladmin-generator 系统代码生成模块
我发现的亮点统一异常处理设计
注解权限的设计
接口级别的限流设计
比较完善的工具,如支付宝,邮件,定时任务,各种监控的实现
缓存redis
另外,作者最近还提供了一份详细的文档帮助小伙伴们学习这个项目。文档从环境搭建到后端每一块的详细设计都有涵盖,非常适合拿来学习!
基于SpringBoot和Vue的企业级中后台开源项目
技术体系前端:Vue + Vue-Router + Vuex + ViewUI + vue-enum
后端:SpringBoot2 + Mybatis-plus + jwt + druid + mysql
前端代码规范smart-front-standard -guide(大力推荐)
基于阿里规范之上的后端规范smart-backend-standard-guide(大力推荐)
前端特点高质量的代码、代码结构、和代码注释
漂亮的UI,菜单栏、标签页,体验、交互更好用的员工、部门、角色、菜单管理等等
优化基于Keepalive的标签页,做到标签页该缓存的时候缓存,比如左右切换等,不该缓存的时候不缓存,比如新建,表单提交结束等
前端常量维护: vue-enum,拒绝出现魔法数字,代码不可维护的现象
全新的基于前端的权限设计(忘掉传统的权限设计吧,已经不适合这个前端时代)
基于websocket的在线人数
支持一级、二级、三级菜单,四级菜单以及搜索功能
其他功能:邮件、富文本、消息、系统配置等等
写不完了,太多好的细节需要你的发现......
后端特点高质量的Java代码、分包结构、和代码注释
业内独创的请求返回码维护,非常值得一看
基于一个注解和controller的权限设计放弃更复杂的shiro,以及一套数据权限支持
四层架构(controller, service, manager, dao)
代码阅读性强、扩展性极高的员工、部门、角色、菜单管理
基于LRU策略的内存级权限缓存
配合前端vue-enum的swagger文档注解
心跳服务,让你发现有哪些机器再跑,哪些人在偷偷的跑你的Job
自定义的quartz job添加和修改,方便测试人员测试
smart-reload,为系统预留钩子,动态加载,在不重启程序前提下执行一些代码,你懂的
以上只是一些举例,更多灿若繁星的惊喜和细节,等待着你的发现!
前端代码规范文件、文件夹、目录结构、组建、变量等等怎么命名
html、css、less等如何规范
vue项目目录结构如何划分
router和store该怎么划分扩展性更好
vue组件规范该选择哪些
以及更多,数不胜数让你觉得实用,同时身心愉悦的规范
后端代码规范四层架构(controller, service, manager, dao) 是什么,为什么要有四层
各个层的代码该怎么写才能让团队配合默契,高度一致
vo, bo, dto, entity ,各种javabean 怎么区分和使用
spring的 @Transactional 你用对了吗
方法参数个数、注释、todo这些也要有规范,你遵守过吗
以上举例,只是沧海一粟,更多的细节等待你的发现!
截图:
开源 SpringBoot 商城系统,功能超全
基于Springboot + Vue + 微信小程序技术构建 ,支持单店铺,多店铺入驻的商城平台。项目包含微信小程序、管理后台。基于Java后台语言,已功能闭环,且达到商用标准的一套项目体系。
技术栈
平台功能介绍
小程序演示图
管理后端演示图