地址
/yengjin/springboot-layui-admin
说明
一套SpringBoot+MyBatis+FreeMarker+LayUI的后台管理系统开源啦~.
适用于小体量,CRUD业务为主的后台系统快速搭建和学习.
在学习过程中发现很多地方网上没有给出一个整套的案例, 整合了网上的一些解决办法, 做出了一个比较完整的管理系统~
由于时间仓促, 没有加入权限验证和Redis等功能.但对于SpringBoot+LayUI开发来说是一个很好的例子.
为了避免CRUD大量重复代码, 我将CRUD单独抽取出来, 结合反射进行了封装. 如果要扩展自己的业务, 请遵循如下方法:
业务接口直接继承AbstractIService, 实现类继承BaseServiceImpl, 实现IEmployeeService接口 (以Employee业务为例)
public interface IDepartmentService extends AbstractIService<Department> {}
@Servicepublic 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
在MySQL(作者5.7)中创建数据库, 导入admin.sql文件至数据库.导入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文件下载包含模块:
权限管理部门管理职位管理员工管理部门管理下载中心注: 登录页面的背景图片引用自知乎首页, 请自行更换.
有任何问题或者建议, 欢迎联系交流!
联系方式: 450298429@