基于SpringBoot与LayUI的后台管理系统

地址

https://github.com/yengjin/springboot-layui-admin

说明

一套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代码.
如果有自己需要的业务, 相应添加进自己类的接口, 并单独实现即可.

运行截图

基于SpringBoot与LayUI的后台管理系统_第1张图片
基于SpringBoot与LayUI的后台管理系统_第2张图片
基于SpringBoot与LayUI的后台管理系统_第3张图片

使用方法 How To Use

  1. 在MySQL(作者5.7)中创建数据库, 导入admin.sql文件至数据库.
  2. 导入Maven工程
  3. 修改相关配置application.properties
  4. 在userauth表中添加测试帐号
  5. 在D盘根目录下创建hrm-upload文件夹,用于文件上传 (可通过配置文件更改)
  6. 运行Application.java
  7. 访问http://localhost/login 登录即可使用

特色/解决的一些问题:

后端:

  • 抽取CRUD公共业务层和DAO, 结合反射, 实现了公共CRUD抽取(继承+Mapper配置即可使用)
  • 使用SqlSessionTemplate进行Mapper查找和执行
  • 遵循RestFul API设计规范, 结合FreeMarker进行前后端分离
  • Interceptor+Session检查登录状态

前端:

  • iframe实现页面局部刷新
  • Layui数据表格内嵌下拉框问题
  • Layer弹窗Form组件渲染不出来的问题(使用回调函数)
  • Layui数据表格分页问题
  • 实时模糊匹配查询/数据表格重新渲染
  • Layui+SpringBoot文件下载

包含模块:

  • 权限管理
  • 部门管理
  • 职位管理
  • 员工管理
  • 部门管理
  • 下载中心

注: 登录页面的背景图片引用自知乎首页, 请自行更换.

有任何问题或者建议, 欢迎联系交流!

联系方式: [email protected]

Developed By BruceYan

你可能感兴趣的:(SpringBoot)