基于SpringBoot与LayUI的后台管理系统
地址
说明
一套SpringBoot+MyBatis+FreeMarker+LayUI的后台管理系统开源啦~. 适用于小体量,CRUD业务为主的后台系统快速搭建和学习. 在学习过程中发现很多地方网上没有给出一个整套的案例, 整合了网上的一些解决办法, 做出了一个比较完整的管理系统~
由于时间仓促, 没有加入权限验证和Redis等功能.但对于SpringBoot+LayUI开发来说是一个很好的例子.
为了避免CRUD大量重复代码, 我将CRUD单独抽取出来, 结合反射进行了封装. 如果要扩展自己的业务, 请遵循如下方法:
-
业务接口直接继承AbstractIService, 实现类继承BaseServiceImpl, 实现IEmployeeService接口 (以Employee业务为例)
public interface IDepartmentService extends AbstractIService<Department> {
}
@Service
public class EmployeeServiceImpl extends BaseServiceImpl<Employee> implements IEmployeeService {
}
而DAO, 继承BaseRepository即可.
package cn.geek51.dao;
import org.springframework.stereotype.Repository;
/**
* 职位Department持久层
* 继承AbstractBaseDao, 使用抽象模版设计模式
*/
public class DepartmentDao extends BaseRepository{
}
这样增删改查就不用自己写了, 都为你封装好了CRUD代码. 如果有自己需要的业务, 相应添加进自己类的接口, 并单独实现即可.
使用方法 How To Use
- 导入Maven工程
- 修改相关配置application.properties
- 在userauth表中添加测试帐号
- 在D盘根目录下创建hrm-upload文件夹,用于文件上传 (可通过配置文件更改)
- 运行Application.java
- 访问http://localhost/login 登录即可使用
特色/解决的一些问题:
后端:
-
抽取CRUD公共业务层和DAO, 结合反射, 实现了公共CRUD抽取(继承+Mapper配置即可使用) 使用SqlSessionTemplate进行Mapper查找和执行 遵循RestFul API设计规范, 结合FreeMarker进行前后端分离 Interceptor+Session检查登录状态
前端:
-
iframe实现页面局部刷新 Layui数据表格内嵌下拉框问题 Layer弹窗Form组件渲染不出来的问题(使用回调函数) Layui数据表格分页问题 实时模糊匹配查询/数据表格重新渲染 Layui+SpringBoot文件下载
包含模块:
-
权限管理 部门管理 职位管理 员工管理 部门管理 下载中心
注: 登录页面的背景图片引用自知乎首页, 请自行更换.
有任何问题或者建议, 欢迎联系交流!
