源码地址

https://github.com/javanan/slife

slife

spring boot 搭建的一个企业级快速开发脚手架。

技术栈

  1. Spring Boot
  2. MySQL
  3. Freemark
  4. SiteMesh
  5. Shiro
  6. Bootstrap
  7. mybatis、mybatisPlus
  8. redis
  9. Activiti

编码约定

系统分为controller、service、dao层。
controller主要负责转发、service主要负责业务逻辑、dao主要是数据库的操作。

文件名称约定

在页面文件夹中,按照功能模块分别建立不同的文件夹存放页面,如用户的页面就放在user文件夹中,而角色的就放在role文件夹中。

  1. 页面如果是列表类型的。页面的文件名用list.ftl命名。
  2. 页面如果是详情类型的。页面的文件名用detail.ftl命名。

controller、service、dao方法名称约定

  1. 如果是增加数据操作用insert做前缀。
  2. 如果是删除操作用delete做前缀
  3. 如果是修改操作用update做前缀
  4. 如果是查询操作用select做前缀

数据库读写分离

缓存ecache、redis

新建模块

  1. new Module
  2. GroupId —>com.slife
  3. ArtifactId—> slife-模块名称 如 slife-activiti
  4. Version --> 版本号 如 1.0SNAPSHOT
  5. Module-Name–> slife-模块名称 如 slife-activiti
  6. 提交新建模块
  7. pom 文件引入
    <name>slife-模块名称</name><dependencies><dependency><groupId>com.slife</groupId><artifactId>slife-common</artifactId></dependency>...其他的依赖.</dependencies>

JDK版本 1.8

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.6.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding><compilerArgs><arg>-parameters</arg></compilerArgs><useIncrementalCompilation>false</useIncrementalCompilation></configuration></plugin></plugins></build>

新建一个功能模块

1、创建数据库

2、创建entity类

3、创建service类

4、创建controller类

5、创建list界面


5.1 到其他list复制代码过5.2 修改<script>var url = "${base}/sys/user/";</script>中的 url 为你刚刚创建的 controller的类@Controller@RequestMapping(value = "/sys/user")public class SysUserController extends BaseController {的  @RequestMapping(value = "/sys/user") 值5.3 修改搜索条件
目前的搜索条件有/*** 等于*/public static final String SEARCH_EQ="search_eq_";/*** 左模糊*/public static final String SEARCH_LLIKE="search_llike_";/*** 右模糊*/public static final String SEARCH_RLIKE="search_rlike_";/**** 全模糊*/public static final String SEARCH_LIKE="search_like_";<input type="text" class="form-filter input-sm _search" name="search_eq_login_name">只要在  input中 的 name 加入 search_eq_ 前缀 再加数据库中的字段名称即可5.4 修改表格的字段名称

项目截图介绍

系统用户管理


系统菜单管理


系统角色管理

RBAC权限管理模型

日志监控

系统自定义注解,结合AOP,监控用户操作行为

Spring Boot Admin 监控

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-erd7cAoP-1577440125214)(ya)]

Activit工作流

API文档

swaggerUi接口文档展示

数据库监控

使用druid监控数据库健康。本来这里是三个数据源的,使用aop动态的书写切换。没上传到git,需要的同学可以私我

maven构建 多模块开发

根据不同的业务,不在不同的业务模块中开发,如果基本的用户、组织等的管理在 sys模块
日志的业务逻辑在 log模块

可插拔式部署
把不同的模块打包成jar,对应的freemark文件也打包在对应的模块jar中。实现了功能模块的可插拔式部署。

spring boot 搭建的一个企业级快速开发脚手架相关推荐

  1. 带工作流的springboot后台管理项目,一个企业级快速开发解决方案

    后台管理类项目 项目名称: JeeSite 项目介绍: 这是个典型的SSM后台管理项目(不是有很多小伙伴让推荐SSM项目练手嘛),基于经典技术组合(Spring MVC.Shiro.MyBatis.B ...

  2. Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目

    项目介绍 Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台 基于 Layui 的后台管理系统模板,扩展 Layui 原生 U ...

  3. Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台

    前言 项目介绍 Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台 基于Layui的后台管理系统模板,扩展Layui原生UI样 ...

  4. easy-boot企业级快速开发脚手架

    easy-boot简介 项目基于Spring Boot 2.1.8 .Spring Security.jwt. Mybatis.MyBatis-Plus. xxl-job .redis.vue.vue ...

  5. 推荐一个开源快速开发erp管理系统的框架

    前言 现在的程序开发人员大部分都不会自己去从零开发一个系统了,基本都是在使用一些免费的框架或破解一些有用的功能来自己二次开发组合使用,一般要达到要求是几个框架的功能组合才能实现. 程序开发人员都想找到 ...

  6. JavaEE企业级快速开发平台jeesite4的使用和快速搭建项目

    场景 JeeSIte是一个JavaEE企业级快速开发平台,基于经典技术组合(SpringBoot.Apache Shiro .MyBatis.Beetl.Bootstrap)在线代码生成工具,支持Sp ...

  7. maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目

    项目的简单介绍: 项目采用maven聚合工程 用spring boot 搭建 spring cloud的微服务 模块式开发 项目的截图: 搭建开始: 能上图 我少打字 1.首先搭建maven的聚合工程 ...

  8. move_uploaded_file返回false但实际成功_023 Spring Boot 搭建实际项目开发框架

    前面的课程中,我主要给大家讲解了 Spring Boot 中常用的一些技术点,这些技术点在实际项目中可能不会全部用得到,因为不同的项目可能使用的技术不同,但是希望大家都能掌握如何使用,并能自己根据实际 ...

  9. Spring Boot搭建简易spring clound框架 (一)

    Spring Boot搭建简易spring clound框架 (一) 1.搭建之前先了解微服务 微服务架构介绍 微服务架构(Microservice Architecture)是一种架构概念,旨在通过 ...

最新文章

  1. MySQL 学习笔记(1)— 创建/连接/选择/显示数据库(表) 查询单列(多列/所有列)/查询返回特定的行数 各种排序(单列/多列/降序/组合排序) 过滤数据
  2. java基础_数组常用算法
  3. mysql5.6.4以下不支持多个字段类型为timestamp
  4. OS / Linux / pthread_cond_wait 为什么需要传递 mutex 参数?
  5. Redis 缓存常见问题:缓存一致性的解决方案
  6. 【PAT甲级 vector string排序】1047 Student List for Course (25 分) 含别人的做法
  7. Python 单元测试(unittest)
  8. LeetCode 1497. 检查数组对是否可以被 k 整除(余数配对)
  9. tomcat8开启远程debug
  10. android 输入法出现挤压屏幕、android输入键盘覆盖了屏幕控件的解决办法
  11. 【原创抖音互动无人直播项目大鱼吃小鱼,进入直播间的用户开始吃鱼,吃的鱼越多等级越高越厉害】
  12. 在pfSense上使用pfBlockerNG(DNSBL)拦截广告
  13. Icarus Verilog
  14. Vue项目-前端实现导出功能
  15. 效率评价方法--数据包络分析
  16. 【35】存储器层次结构全景:数据存储的大金字塔长什么样?
  17. 【车牌识别】模板匹配新能源车牌识别【含Matlab源码 865期】
  18. Linux 用户和用户组详解
  19. PTA团体程序设计天梯赛-练习集
  20. ElasticSearch安装与使用

热门文章

  1. Python 之并发编程之manager与进程池pool
  2. NPL基础入门之新闻本分类数据分析Test2
  3. 求伯君—金山电脑公司总裁
  4. MySQL如何安装到电脑上
  5. 美团外卖没有淡季,只因具备“铁三角结构优势”
  6. Python爬虫入门教程【19】: B站博人传评论数据抓取 scrapy
  7. Qt win7中读取Excel会出现闪退的问题
  8. 美国海军战列舰——田纳西号(Tennessee)
  9. 创维linux怎么连接wifi,创维酷开电视多屏互动Miracast玩法详解
  10. 视频转GIF太模糊了吗?我来教你使用FFmpeg生成高清GIF!!!