文章目录

  • zero-admin
    • 项目特点
    • 项目开发环境
    • 项目技术栈
    • 运行项目
    • 项目开发约束
      • 代码规范
      • 模块规范
      • 数据库规范
      • 业务规范
    • 补充说明
    • 项目效果图

zero-admin

zero-admin管理系统是作者在github上面的一个开源项目,这个开源项目使用了如今市场上Web开发的各种常用技术,包括但不限于SpringBoot,MyBatisPlus,Jwt,Swagger等等,作者会通过SpringBoot的系列博客的方式,将项目中使用的技术一一展示出来,供同学们学习。
该项目作者已经托管至github开源平台,有兴趣的同学可以前往github平台浏览,也欢迎每一个同学给该项目一个star

项目演示地址:http://zeroadmin.herenpeng.com (用户名/密码:user/111111)
github下载地址:https://github.com/herenpeng/zero-admin.git
gitee地址:https://gitee.com/herenpeng/zero-admin.git

项目特点

  • 项目基于前后端分离开发,前后端使用JSON格式的数据进行通信。
  • 基于用户-角色-权限进行系统权限管理,可以自由进行用户,角色,权限的添加,修改,删除。
  • 系统权限管理粒度精细至接口,每一个后台接口都可以通过系统进行权限管理。
  • 系统级别启动触发事件,系统资源接口自动扫描,无需手动添加,系统事件可自由配置开关。
  • 系统静态资源文件管理功能,系统静态资源文件自由管理。
  • 基于注解的AOP日志管理功能,记录每一个接口请求的详细信息。
  • 逻辑删除数据,及数据回收站功能。

项目开发环境

  • JDK 1.8
  • Maven 3.6.3
  • MySQL 5.7.30
  • Redis(Windows) 3.2.100

项目技术栈

  • SpringBoot
  • MyBatisPlus
  • JWT
  • WebSocket
  • Swagger
  • FreeMarker
  • SpringDataRedis
  • easyPoi
  • oshi

运行项目

1、从github地址上将项目下载下来。

2、将项目设置为Maven项目,并使用Maven下载相关依赖。

3、修改application-dev.yml里面的MySQL数据库和Redis数据库的连接信息。

4、启动MySQL数据库,并导入sql脚本文件。

5、启动Redis数据库。

6、运行MyApplication的main()方法,启动项目。

【备注】如果需要使用项目的邮件发送功能,需要修改application.yml文件中的spring.mail.username和spring.mail.password配置。

项目开发约束

代码规范

本项目代码开发规范遵循《阿里巴巴Java开发手册》,在进行开发前,请下载阿里巴巴Java代码开发约束插件,保证项目代码质量。
链接:《阿里巴巴Java开发手册——嵩山版》

模块规范

本项目功能使用分模块开发,如果需要在本项目的基础上进行开发,请按照以下的三个步骤进行:

  • 请在zero-admin项目下新建模块,并以zero-admin为父项目,需要的第三方依赖,请在zero-admin父模块的pom.xml文件中添加。
  • 在新建模块的pom.xml文件中添加zero-sys模块的依赖。
  • 在zero-web模块的pom.xml文件中添加新建模块的依赖。

数据库规范

所有数据库表的设计,除数据库的业务字段外,都必须包含以下6个通用字段。

-- 这是通用的表数据结构字段
CREATE TABLE `base_table` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',-- 在这里添加表数据业务功能字段`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '数据库数据插入时间',`create_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '数据库数据插入用户主键',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '数据库数据更新时间',`update_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '数据库数据更新用户主键',`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除标识,0为正常,1为逻辑删除,默认为0',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='数据库基本表';

业务规范

  • 项目中的所有实体类统一继承com.zero.common.base.entity.BaseEntity类,BaseEntity中包含了数据库规范中包含的六个通用字段。
  • 所有Mapper接口统一继承com.baomidou.mybatisplus.core.mapper.BaseMapper接口。
  • 所有Service接口统一继承com.zero.common.base.service.BaseService接口,所有ServiceImpl类继承com.zero.common.base.service.impl.BaseServiceImpl类。
  • 所有Controller类统一继承com.zero.common.base.controller.BaseController类。

补充说明

1、该项目为一个前后端分离项目,启动该项目只是一个纯后端系统,需要结合前端项目进行使用,具体说明可以参考前端项目说明。

前端项目github下载地址:https://github.com/herenpeng/zero-admin-vue.git

2、该项目的SpringBoot版本为2.3.8.RELEASE,请不要降低SpringBoot的依赖版本,否则可能会因为SpringAop的执行顺序变化问题,导致系统日志功能发生异常。
具体关于SpringAop执行顺序问题,可以参考作者博客:不同版本的SpringAop执行顺序变化

3、系统内部集成了Swagger接口文档,直接通过项目系统【项目文档】菜单或者/swagger-ui/index.html路径,可以直接访问接口说明文档

项目效果图

  • 系统首页

  • 用户管理

  • 新增用户

  • 账号管理

  • 菜单管理

  • 系统监控

  • 登入日志

  • 日志管理

  • 密码重置

  • 数据回收

  • 代码生成

  • 系统文档

SpringBoot(一):项目概述相关推荐

  1. 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包

    浅谈:Spring Boot原理分析(更多细节解释在代码注释中) 通过@EnableAutoConfiguration注解加载Springboot内置的自动初始化类(加载什么类是配置在spring.f ...

  2. 1、点评搜索服务推荐系统项目概述

    ElasticSearch7+Spark 构建搜索服务&推荐系统 文章目录 ElasticSearch7+Spark 构建搜索服务&推荐系统 项目概述 项目设计 业务需求 技术分解&a ...

  3. (硅谷课堂项目)Java开发笔记2:项目概述,搭建项目环境和开发讲师管理接口

    文章目录 (硅谷课堂项目)Java开发笔记2:项目概述,搭建项目环境和开发讲师管理接口 1.项目概述 1.1 项目介绍 1.2 硅谷课程流程图 1.3 硅谷课堂功能架构 1.4 硅谷课堂技术架构 1. ...

  4. vue和SpringBoot搭建项目(原创)

    1.element官网 https://element.eleme.cn/#/zh-CN/component/installation 2.element介绍 Element:网站快速成型工具.是饿了 ...

  5. Linux下 SpringBoot jar项目后台运行、查看、停用

    运行java jar: nohup java -jar **-0.0.1-SNAPSHOT.jar & 查看进程: 采用top或者ps aux命令.一般 如果后台是springboot,jar ...

  6. 最简单最详细的SpringBoot入门项目——HelloWorld

    最详细的SpringBoot入门项目--HelloWorld 关于SpringBoot的介绍以及优点这里就不说了,想了解的可以直接点击这里 Spring Boot百度百科 接下来我们直奔主题,开始用S ...

  7. Github 上 10 个值得学习的 Springboot 开源项目

    Spring Boot 几乎继承了所有 Spring 框架的优点,同时还可以让项目的配置更简化.编码更简化.部署更方便.近两年受到很多开发者的追捧,也是火热的不行! 下面给大家整理了 10 个 Git ...

  8. spark项目实战:电商分析平台之项目概述

    spark项目实战:电商分析平台之项目概述 目录 项目概述 程序架构分析 需求解析 初始代码和完成代码存放在github上面 1. 项目概述 在访问电商网站时,我们的一些访问行为会产生相应的埋点日志( ...

  9. python开源考试_Github 上 10 个值得学习的 Springboot 开源项目

    spring Boot 几乎继承了所有 Spring 框架的优点,同时还可以让项目的配置更简化.编码更简化.部署更方便.近两年受到很多开发者的追捧,也是火热的不行! 下面给大家整理了 10 个 Git ...

  10. SpringBoot部署项目到Docker仓库

    SpringBoot部署项目到Docker仓库 1.开启远程控制端口 Centos7开启方式: vim /lib/systemd/system/docker.service 找到ExecStart行 ...

最新文章

  1. 重新更新了,账号都丢了,重新找回的
  2. 科大星云诗社动态20210428
  3. 将所有的表中,数值类型由char,varchar改为nchar,nvarchar 的存储过程
  4. Spring IoC 的实现机制
  5. Android-Universal-Image-Loader学习笔记(一)
  6. 大数据框架对比:Hadoop、Storm、Samza、Spark和Flink
  7. nuget 下载nupkg 以及依赖包
  8. VSCode 离线安装中文语言包
  9. FIT2CLOUD混合云管理平台实现可扩展架构升级
  10. Go语言: go-redis客户端通过MSet方法一次性批量写入多个key的值
  11. win10 c盘压缩卷只能压出一半?或只能压缩出一点空间的完美解决方案
  12. 华为荣耀5a是android几,华为荣耀5a各版本区别 华为荣耀5a各版本 对比【图文】
  13. 别被别人抢走了你的时间!
  14. fib matlab,基于MATLAB的FIB制备三维原子探针样品过程的模拟方法与流程
  15. 数据库(mysql)基本概念
  16. 关于intrins.h头文件的介绍,做流水灯时候更方便
  17. Kotlin版 极简 干货集中营 APP
  18. 2006年6月26日之足球不眠夜---意大利+黄健翔VS澳大利亚
  19. HTML完成我的校园网页实现 HTML+CSS
  20. 推石磨机器人_您见过机器人豆腐西施吗?七旬老人发明出来了,能推石磨添料揽客...

热门文章

  1. oracle表给用户授权
  2. Java获取某年某周的第一天
  3. sublimelinter php 语法不起作用,sublime安装插件sublimeLinter不起作用解决办法
  4. 创业公司如何应对大公司的冲击
  5. 单选/复选框中点击文字能选择该选项
  6. 解决tomcat 静态页面(html)中文乱码终极篇
  7. 在Outlook2007中设置QQ邮箱为IMAP/SMTP服务器
  8. 基于粒子群优化的MPPT控制
  9. 从顶会论文看2022年推荐系统序列建模的趋势
  10. 对话西门子Mendix:低代码与亚马逊云科技Serverless的底层融合,助力企业提效降本...