基于SpringBoot 2+Layui实现的管理后台系统源码+数据库+安装使用说明

springboot-plus

一个基于SpringBoot 2 的管理后台系统,包含了用户管理,组织机构管理,角色管理,功能点管理,菜单管理,权限分配,数据权限分配,代码生成等功能
相比其他开源的后台系统,SpringBoot-Plus 具有一定的复杂度

系统基于Spring Boot2.1技术,前端采用了Layui2.4。数据库以MySQL/Oracle/Postgres/SQLServer为实例,理论上是跨数据库平台.

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1 使用说明

1.1 安装说明

建议在彻底熟悉plus系统之前,先暂时不要修改其他配置选项,免得系统无法访问

本系统基于Spring Boot 2 ,因此请务必使用JDK8,且打开编译选项parameters(点击了解parameters), 并重新编译工程,如果你没有使用Java8的 parameters 特性,系统不能正常使用

从Git上获取代码后,通过IDE导入此Maven工程,包含俩个子工程

  • admin-core ,核心包,包含了缓存,数据权限,公用的JS和HTML页面。
  • admin-console, 系统管理功能,包含了用户,组织机构,角色,权限,数据权限,代码生成等管理功能

com.ibeetl.admin.CosonleApplication 是系统启动类,在admin-console包下,在运行这个之前,还需要初始化数据库,位于doc/starter-mysql.sql,目前只提供mysql, oracle, postgresql脚本。理论上支持所有数据库

还需要修改SpringBoot配置文件application.properties,修改你的数据库地址和访问用户

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/starter?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456

运行CosonleApplication,然后访问http://127.0.0.1:8080/ 输入admin/123456 则可以直接登录进入管理系统

如果成功启动后运行报错:变量userId未定义,位于第6行,那是因为你没有启用parameters,启用后,需要clean&build整个工程

1.2 创建子系统

SpringBoot-plus 是一个适合大系统拆分成小系统的架构,或者是一个微服务系统,因此,如果你需要创建自己的业务系统,比如,一个CMS子系统,建议你不要在SpringBoot-Plus 添加代码,应该是新建立一个maven工程,依赖admin-core,或者依赖admin-console(如果你有后台管理需求,通常都有,但不是必须的)

创建子系统,可以进入代码生成>子系统生成, 输入maven项目路径,还有包名,就可以直接生成一个可运行的基于SpringBoot-Plus 的子系统,所有代码可以在个项目里些完成,直接运行MainApplication,

@SpringBootApplication
@EnableCaching
@ComponentScan(basePackages= {"com.corp.xxx","com.ibeetl.admin"})
public class MainApplication  extends SpringBootServletInitializer implements WebApplicationInitializer {
	
    public static void main(String[] args) {
    	
    	SpringApplication.run(MainApplication.class, args);
    }


}	

子系统包含了admin-core和admin-console, 因此你可以直接在子系统里使用core和console提供的所有功能,通过子系统的console功能的代码生成来完成进一步开发

子系统可以单独运行和维护,也可以集成到nginx后构成一个庞大的企业应用系统

1.2.1 配置子系统

子系统不需要做任何配置即可在IDE里直接运行,如果你想打包城jar方式运行,则需要添加

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

如果你想打包成war放到tomcat下运行,需要修改maven打包为war

<packaging>war</packaging>

1.2.2 菜单系统

系统默认提供三种类型菜单

  • 系统级菜单,出现在页面顶部,表示一个子系统
  • 导航菜单,出现在页面左边,点击导航将打开其下所有菜单
  • 菜单,点开菜单将定位到页面,菜单必须关联到一个功能点。

建议新建立一个子系统来放置新功能

SpringPlus-Boot 并非以菜单或者按钮来组织整个系统,而是以功能点来组织整个系统提供的功能。如果要使得菜单生效,你必须要先常见一个功能点并且功能点有一个访问地址,然后将此菜单关联到这个功能点

SpringBoot-Plus 先建立功能点是个好习惯,功能点被组织成一颗树,代表了系统应该提供功能的功能,我们看代码就会看到,功能点跟菜单,跟权限,和数据权限都有密切关系

1.2.2 添加代码

可以参考1.3业务代码生成生成初始化的代码,业务代码生成了14个文件,包含前后端所有代码,可以通过生成来了解代码习作规范

1.3 业务代码生成

在介绍如何利用Plus开发系统之前,先介绍代码生成功能,此功能可以生成前后端代码总计14个文件,你可以通过预览功能了解如何开发这个系统

在这里插入图片描述

代码生成针对表进行代码生成,包括JS,JAVA,SQL和HTML,可以通过预览功能直接预览。在生成代码到本地前,有些参数需要修改,否则,代码生成后显示的都是英文

  • 显示字段 : 当此实体显示在任何地方的时候,能代表此实体的名称,比如用户名,组织机构名
  • 变量名:可以自己设定一个较短的名字,此变量名会用于前后端的变量
  • urlBase:你规划的子系统,最后访问路径是urlBase+变量名字
  • system: 存放sql目录的的名称

其他修改的地方有

是否包含导入导出,如果选择,则会生成导入导出的代码,导入导出模板则需要参考已有功能(比如数据字典)来完成

是否包含附件管理,如果选择,则业务对象可以关联一组附件,比如客户关联一组附件,或者申请信息关联一组附件。

字段信息的显示名字,这个用于前端列表,表单的显示,应当输入中文名字

作为搜索,可以勾选几个搜索条件,系统自动生成一个搜索配置类

如果字段关联数据字典,那么设置一个数据字典,这样,生成的界面将会变成一个下拉列表

1.3.1 前端代码

前端代码采用了layui的JS框架,使用了按需加载的方式,文档参考 http://www.layui.com/doc/base/infrastructure.html.

  • index.js: 系统入口JS,包含了查询和表格
  • add.js : 新增操作的所有JS
  • edit.js: 编辑操作的所有JS
  • del.js: 删除操作的所有JS

基础JS

  • Common.js: 封装了通常JS功能,如jquery的post方法,layui的窗口方法
  • Lib.js 封装了业务相关方法,如submitForm,loadOrgPanel等方法

1.3.2 HTML代码

页面采用layui,文档参考 http://www.layui.com/demo/

模板语言了使用Beetl,文档参考ibeetl.com

  • index.html: 功能首页
  • add.html: 新增首页
  • edit.html: 编辑操作首页

采用layui的好处是自带了页面和组件还有JS的管理,能完成大多数业务需求

基础UI组件:

  • orgInput.tag.html 组织机构输入框
  • simpleDictSelect.tag.html 字典下拉列表
  • simpleDataSelect.tag 包含key-value的下拉列表
  • searchForm.tag.html 通用搜索表单
  • submitButtons.tag.html 提交按钮
  • accessButton.tag.html 普通按钮(含权限)
  • attachment.tag.html 附件管理组件

完整代码下载地址:基于SpringBoot 2+Layui实现的管理后台系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/234449.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB | 官方举办的动图绘制大赛 | 第四周(收官周)赛情回顾

MATHWORKS官方举办的迷你黑客大赛第三期(MATLAB Flipbook Mini Hack)圆满结束&#xff0c;虽然我的水平和很多大佬还有比较大的差距&#xff0c;但所有奖也算是拿满了&#xff1a; 专家评选前三名&#xff0c;以及投票榜前十&#xff1a;~ 每周的阶段性获奖者&#xff1a; 下面…

c++实现ros通信

这里用的到是自定义的msgcpp发布消息 主要包括两个msg&#xff0c;一个订阅者和一个发布者&#xff0c;以及cmakelists的相应修改。 首先是自定义的msg&#xff0c;功能包里面来自定义msg也是可以的&#xff1a; 新建功能包 catkin_create_pkg pkg roscpp std_msgs message_g…

模块一——双指针:611.有效三角形的个数

文章目录 题目描述算法原理解法一&#xff1a;暴力求解(超时&#xff09;解法二&#xff1a;排序&#xff0b;双指针 代码实现 题目描述 题目链接&#xff1a;611.有效三角形的个数 算法原理 解法一&#xff1a;暴力求解(超时&#xff09; 三层for循环枚举出所有的三元组&…

一款基于ESP32的迷你四足机器人

一、软件介绍 增加自定义动作模式&#xff0c;可以在小程序中自定义一个最多10个步骤的动作。 附件中&#xff1a;带自定模式固件bin.zip esp32c3固件文件 烧录下图设置 无串口版本esp32c3开发板烧录前先按住BOOT键再插线进入烧录模式&#xff0c;LoadMode选择USB。 二、AP…

5_CSS三大特性盒子模型

第5章-盒子模型【比屋教育】 本课目标&#xff08;Objective&#xff09; 掌握CSS三大特性理解什么是盒子模型掌握内边距padding的用法掌握外边距margin的用法 1. CSS的层叠&#xff0c;继承&#xff0c;优先级 1.1 CSS层叠 层叠&#xff1a;是指多个CSS样式叠加到同一个元…

详解ZNS SSD基本原理

ZNS SSD的原理是把namespace空间划分多个zone空间&#xff0c;zone空间内部执行顺序写。这样做的优势&#xff1a; 降低SSD内部的写放大&#xff0c;提升SSD的寿命 降低OP空间&#xff0c;host可以获得更大的使用空间 降低SSD内部DRAM的容量&#xff0c;降低整体的SSD成本 降…

自治调优!人大金仓解放DBA双手

数据库系统的性能是确保整个应用系统高效运转的关键因素&#xff0c;因此数据库性能调优工作至关重要。KingbaseES通过将人工调优过程内化为数据库内核&#xff0c;成功实现了自治调优。这种创新的调优方案为DBA提供了更高效且准确的性能调优途径&#xff0c;同时也显著降低了数…

下划线css

思路&#xff1a; Q1:为什么下划线不用边框border 而使用背景色呢&#xff1f; 要实现动画效果&#xff0c;随着行盒的方向走 新知识点 线性渐变&#xff1a;linear-gradient 方法&#xff1a;linear-gradient(direction, color-stop1, color-stop2, ...) 详情见&#xff1a…

MySQL- in(集合) 和 not in(...) 的使用和练习

1. 基础用法 mysql中in常用于where表达式中&#xff0c;其作用是查询某个范围内的数据。 select * from where field in (value1,value2,value3,…) 当 IN 前面加上 NOT 运算符时&#xff0c;表示与 IN 相反的意思&#xff0c;即不在这些列表项内选择 select * from where …

EarCMS 前台任意文件上传漏洞复现

0x01 产品简介 EarCMS是一个APP内测分发系统的平台。 0x02 漏洞概述 EarCMS前台put_upload.php中,存在pw参数硬编码问题,同时sql语句pdo使用错误,没有有效过滤sql语句,可以控制文件名和后缀,导致可以任意文件上传。 0x03 复现环境 FOFA:app="EearCMS" 0x0…

Nginx性能调优实战 1

Nginx性能调优实战指南 1 Nginx作为一款高性能的Web服务器和反向代理服务器&#xff0c;在处理大量请求和并发连接时表现出色。然而&#xff0c;在实际应用中&#xff0c;为了更好地适应不同的负载和提高系统性能&#xff0c;进行Nginx性能调优是至关重要的。深入探讨Nginx性能…

2023年【起重机司机(限桥式起重机)】考试题库及起重机司机(限桥式起重机)最新解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年【起重机司机(限桥式起重机)】考试题库及起重机司机(限桥式起重机)最新解析&#xff0c;包含起重机司机(限桥式起重机)考试题库答案和解析及起重机司机(限桥式起重机)最新解析练习。安全生产模拟考试一点通结合…

Sql server数据库数据查询

请查询学生信息表的所有记录。 答&#xff1a;查询所需的代码如下&#xff1a; USE 学生管理数据库 GO SELECT * FROM 学生信息表 执行结果如下&#xff1a; 查询学生的学号、姓名和性别。 答&#xff1a;查询所需的代码如下&#xff1a; USE 学生管理数据库 GO SELE…

nginx服务以及实验举例

目录 Nginx简介 概述 Nginx和Apache 的比较 nginx相对于apache的优点 apache相对于nginx的优点 Nginx作为web服务器与Apache比较 Linux 中的 I/O 磁盘 I/O buff/cache的区别 同步/异步 阻塞/非阻塞 异步非阻塞 I/O模型 nginx 实验操作举例&#xff0c;优先将防火墙…

人工智能期末复习重点【只针对(适合)个人】

第二章 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.框架题 12.1地震框架 12.2洪水框架 13.第二章总结 第三章 14. 15. 3.1.1 推理的定义 16. 3.1.2 推理方式及其分类 &#xff08;1&#xff09;确定性推理&#xff1a; u 推理时所用的 知识与证据 都是 确定的 &…

elasticsearch|大数据|elasticsearch低版本集群的部署安装和安全增强---密码设置问题

一&#xff0c; 版本问题 elasticsearch的高低版本划分标准为6.3&#xff0c;该版本之前的为低版本&#xff0c;6.3版本之后的包括6.3为高版本&#xff0c;这么划分主要是在安全性方面也就是x-pack插件的使用部署方面&#xff0c;低版本需要手动安装该安全插件&#xff0c;而…

为什么需要 Kubernetes,它能做什么?

传统部署时代&#xff1a; 早期&#xff0c;各个组织是在物理服务器上运行应用程序。 由于无法限制在物理服务器中运行的应用程序资源使用&#xff0c;因此会导致资源分配问题。 例如&#xff0c;如果在同一台物理服务器上运行多个应用程序&#xff0c; 则可能会出现一个应用程…

渗透测试——七、网站漏洞——命令注入和跨站请求伪造(CSRF)

渗透测试 一、命令注入二、跨站请求伪造(CSRF)三、命令注入页面之注人测试四、CSRF页面之请求伪造测试 一、命令注入 命令注入(命令执行) 漏洞是指在网页代码中有时需要调用一些执行系统命令的函数例如 system()、exec()、shell_exec()、eval()、passthru()&#xff0c;代码未…

lv11 嵌入式开发 PWM 18

目录 1 PWM简介 1.1 蜂鸣器工作原理 1.2 GPIO控制 1.3 PWM控制 2 Exynos4412下的 PWM控制器 2.1 总览 2.2 设置步骤 2.3 功能框图 2.4 特征 3 寄存器介绍 3.1 总览 3.2 TCFG0 一级分频寄存器 3.3 TCFG1 二级分频寄存器 3.4 TCON控制寄存器 3.5 TCNTB TCMPB T…

lv12 系统移植导学 1

1 导学 Kernel学习主要包括三块内容&#xff0c;ARM&#xff08;汇编、协议&#xff09;、系统移植、驱动移植 lv12主要时安装系统linux linux主要帮我们实现了5大功能 1 进程、线程管理 2 内存管理 3 网络协议栈管理 4 文件系统管理 5 设备管理 2 移植的目的 不同架构…