All Projects → kalvinGit → Kvf Admin

kalvinGit / Kvf Admin

Licence: mit
kvf-admin是一套基于springboot、mybatis、shiro及layui的轻量级快速开发框架、脚手架、后台管理系统、权限系统、基于activiti6整合的工作流OA系统,上手简单,拿来即用。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Kvf Admin

Spring Boot Blog
Simple blog web app made using Spring Boot + Thymeleaf
Stars: ✭ 121 (-42.11%)
Mutual labels:  spring-boot, spring-mvc
Gemini
Model Driven REST framework to automatically generate CRUD APIs
Stars: ✭ 138 (-33.97%)
Mutual labels:  spring-boot, spring-mvc
Bucket4j Spring Boot Starter
Spring Boot Starter for Bucket4j
Stars: ✭ 127 (-39.23%)
Mutual labels:  spring-boot, spring-mvc
Ibase4j
Spring,SpringBoot 2.0,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis缓存,Shiro权限管理,Spring-Session单点登录,Quartz分布式集群调度,Restful服务,QQ/微信登录,App token登录,微信/支付宝支付;日期转换、数据类型转换、序列化、汉字转拼音、身份证号码验证、数字转人民币、发送短信、发送邮件、加密解密、图片处理、excel导入导出、FTP/SFTP/fastDFS上传下载、二维码、XML读写、高精度计算、系统配置工具类等等。
Stars: ✭ 1,548 (+640.67%)
Mutual labels:  spring-boot, spring-mvc
Meetingfilm
基于微服务架构的在线电影购票平台
Stars: ✭ 149 (-28.71%)
Mutual labels:  spring-boot, spring-mvc
Securing Rest Api Spring Security
Spring Boot 2.2.x + Spring 5.2.x Rest Api Security Example
Stars: ✭ 117 (-44.02%)
Mutual labels:  spring-boot, spring-mvc
Spring Backend Boilerplate
The modularized backend boilerplate based on Spring Boot Framework, easy to get started and add your business part.
Stars: ✭ 134 (-35.89%)
Mutual labels:  spring-boot, spring-mvc
Nb Springboot
NetBeans IDE plugin supporting programming with Spring Boot
Stars: ✭ 111 (-46.89%)
Mutual labels:  spring-boot, spring-mvc
Springbootwebapplicationstepbystep
Develop your first web application with Spring Boot Magic
Stars: ✭ 146 (-30.14%)
Mutual labels:  spring-boot, spring-mvc
Imooc O2o
SSM到Spring Boot从零开发校园商铺平台
Stars: ✭ 145 (-30.62%)
Mutual labels:  spring-boot, spring-mvc
Stock Price Viewer Microservices Part1
Spring Cloud services with 5 microservices - End to End Example
Stars: ✭ 115 (-44.98%)
Mutual labels:  spring-boot, spring-mvc
Sloth
Sloth 是一个生成脚手架代码的工具。你只需要设置好业务应用所需要用的 Mysql 数据源即可。如果你用过 Ruby on Rails 的代码生成器的话,那么 Sloth 也同样适用于这样的场景, 它使用 Java 语言构建,生成的脚手架代码亦是 Java。旨在为开发者提供一系列健壮的工具、程序库和工作流,帮助他们快速构建出漂亮、引人注目的SpringBoot Web应用
Stars: ✭ 170 (-18.66%)
Mutual labels:  spring-boot, code-generator
Cli Spring Boot Scaffold
command line for generate crud and configs for spring boot projects
Stars: ✭ 113 (-45.93%)
Mutual labels:  spring-boot, spring-mvc
Springboot Restful Angular
springBoot,restful,jwt,angular4 搭建的前后端分离后台管理系统
Stars: ✭ 121 (-42.11%)
Mutual labels:  spring-boot, admin
Spring Cloud Flycloud
🔥🔥🔥FlyClould 微服务实战项目框架,在该框架中,包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,对于后台服务框架的搭建有很大的参考价值,大家可以参考甚至稍加修改可以直接应用于自己的实际的项目开发中,该项目没有采用Maven进行项目构建,Maven通过xml进行依赖管理,导致整个配置文件太过臃肿,另外灵活性也不是很强,所以我采用Gradle进行项目构建和依赖管理,在FlyTour项目中我们见证了Gradle的强大,通过简单的一些配置就可以轻松的实现组件化的功能。该项目共有11个Module工程。其中10个位微服务工程,这10个微服务工程构成了一个完整的微服务系统,微服务系统包含了8个基础服务,提供了一整套微服务治理功能,他们分别是配置中心module_c…
Stars: ✭ 1,514 (+624.4%)
Mutual labels:  spring-boot, spring-mvc
Sk Admin
基于 Spring Boot、 Spring Data JPA、 Spring Security、Vue 的前后端分离的管理系统。项目采用模块开发方式, 主要模块:权限管理 (RBAC(Role-Based Access Control,基于角色的访问控制),支持数据字典、数据权限管理、前端菜单支持动态路由)、日志管理、代码生成器、系统监控、云存储管理、系统工具等等
Stars: ✭ 130 (-37.8%)
Mutual labels:  spring-boot, admin
Jeesite4
Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE),在线代码生成功能,包括核心模块如:组织机构、角色用户、菜单及按钮授权、数据权限、系统参数、内容管理、工作流等。采用松耦合设计;界面无刷新,一键换肤;众多账号安全设置,密码策略;在线定时任务配置;支持集群,支持SAAS;支持多数据源
Stars: ✭ 1,563 (+647.85%)
Mutual labels:  spring-boot, spring-mvc
Spring Webmvc Pac4j
Security library for Spring Web MVC: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 110 (-47.37%)
Mutual labels:  spring-boot, spring-mvc
Javadevjournal
Source code for the tutorials published on the Javadevjournal site.
Stars: ✭ 141 (-32.54%)
Mutual labels:  spring-boot, spring-mvc
Speedment
Speedment is a Stream ORM Java Toolkit and Runtime
Stars: ✭ 1,978 (+846.41%)
Mutual labels:  spring-boot, code-generator

kvf-admin-logo

license springboot mybatis-plus code-generator layui hutool activiti6

kvf-admin

kvf-admin是一套快速开发框架、脚手架、后台管理系统、权限系统,上手简单,拿来即用。为广大开发者去除大部分重复繁锁的代码工作,让开发者拥有更多的时间陪恋人、家人和朋友。
技术交流群:214768328 二维码

  • 后端采用spring boot、mybatis(已集成mybatis-plus增强插件,开发更迅速,可查看官方文档了解更多:mybatis-plus)、shiro框架
  • 前端采用layui作为UI框架,实现90%的移动端自适应,支持主题更换
  • 提供代码生成器(wiki使用文档),只需编写20%左右的代码,剩下全部自动生成;支持一键及批量功能模块生成,并支持一定程度上的自定义配置并生成代码,相对比较灵活

基础框架功能模块

  • [x] 用户管理
  • [x] 部门管理
  • [x] 菜单管理
  • [x] 角色管理
  • [x] 字典管理
  • [x] 操作日志
  • [x] 代码生成
  • [x] 组件管理

kvf-admin-activiti(工作流OA版本)

kvf-admin-activiti是基于kvf-admin脚手架集成了工作流引擎(activiti6),并封装了核心工作流程(OA)功能模块。如下: 目前工作流(OA)模块还处于初始阶段,代码也比较粗糙,后续再不断完善优化。
备注:工作流版本在【activiti】分支

  • [x] 核心API(支持启动流程、提交任务、驳回、驳回任意环节、驳回首环节、撤回、挂起/激活流程等API)
  • [x] 流程管理(支持流程在线设计器、发布/部署、挂起、激活、导出/导入、配置表单、启动、删除)
  • [x] 表单管理(支持快速表单在线设计器、增/删/改/查、预览表单)
  • [x] 我的流程(发起流程申请)
  • [x] 我的待办(支持快速办理、查看任务表单办理、历史审批意见、流程实时流转图等)
  • [x] 我的已办(支持撤回功能)
  • [x] 我的申请(查看所有当前用户申请过的流程情况)
  • [ ] 下一步计划,期待大家的反馈意见!

更新日志

👳👉‍点我点我点我

项目结构树

kvf-admin
│
│ pom.xml maven依赖管理pom文件
│  
├─sql
│      kvf_sys.sql  项目初始化数据表及基础数据sql脚本
│      
└─src
    ├─main
    │  ├─java
    │  │  └─com
    │  │      └─kalvin
    │  │          └─kvf
    │  │              │  KvfAdminApplication.java   项目启动类
    │  │              │  
    │  │              ├─common  通用模块
    │  │              └─modules 功能模块
    │  │                  ├─generator   代码生成器模块
    │  │                  └─sys 系统模块(核心)
    │  └─resources
    │      │  application.yml   spring boot 配置文件
    │      │  ehcache.xml   ehcache缓存配置文件
    │      │  
    │      ├─mapper mybatis mapper文件
    │      ├─static 静态资料
    │      └─templates  模板
    │          │  403.html  403页面
    │          │  home.html 系统首页页面
    │          │  index.html   主页
    │          │  login.html   登录页
    │          │  
    │          ├─common 通用模板
    │          │      base.html
    │          │      sys_tpl.html
    │          │      
    │          ├─generator  生成器模板
    │          │          
    │          └─sys    系统页面模板
    │                  
    └─test  单元测试块

软件需求

  • jdk8+
  • mysql5.7+

所用技术

前端

后端

  • spring boot v2.2.4.RELEASE
  • Mybatis
  • Mybatis-plus v3.3.0 (mybatis增强插件,无侵入。非常强大的插件,除了联表操作,几乎都可以使用它的sql条件构造器完成)
  • Shiro v1.4.0
  • Druid v1.1.21
  • ehcache
  • redis
  • hutool-all v4.5.1 (java通用工具类,此包几乎包括了所有常用的工具方法,你也可以按需引入相应工具模块包)

项目特点

  • 非常精简且轻量级的权限系统,代码简洁易懂,无论学习还是项目中应用,都是非常简单易上手的项目
  • 拥有界面配置化代码生成器,支持一键生成及简单自定义配置生成代码
  • 自动过滤输入的非法字符串,防止XSS攻击
  • 使用ehcache + redis作为缓存,对需要加入缓存的方法上添加@Cacheable注解即可(你也可以使用redisTemplate添加获取缓存),提升系统运行速度
  • 支持日志记录,可在需要加入日志操作记录的controller方法上添加@Log("业务操作备注")即可完成日志记录
  • 系统全局统一异常处理,所有异常信息统一处理返回R对象,前端处理提示信息更方便
  • 支持工作流(OA)功能
  • 完美支持多种部署方式(jar、tomcat、docker等)

本地部署

  • 通过git/gitee下载源码(推荐使用git,因为gitee不是实时更新的),若是工作流OA版本,请clone activiti分支
  • 创建数据库:执行sql/kvf_admin.sql脚本创建数据库及表并初始化系统基础数据,若是工作流OA版本需要额外执行sql/kvf_admin_activiti.sql脚本
  • 修改开发环境配置文件application-dev.yml,配置数据库账号和密码
  • 开发工具idea或eclipse还需要安装lombok插件,否则会提示找不到实体类的的get/set方法
  • 运行KvfAdminApplication.java,启动项目【kvf-admin】
  • idea启动访问:http://localhost/【一般idea都会自动去掉项目名】【这里使用80端口】
  • eclipse启动访问:http://localhost/kvf-admin【这里使用80端口】
  • 账号密码:admin/123456

linux部署

注意:以下三种方式部署前,记得初始化数据库哦

打包

开发环境(dev):
mvn package -P dev
测试环境(test):
mvn package -P test -Dmaven.test.skip=true
生产环境(prod):
mvn package -P prod -Dmaven.test.skip=true

jar包方式部署

项目已解决以jar包运行的情况下,无法读取文件等各种问题,所以放心使用

运行
nohup java -jar kvf-admin.jar &

tomcat部署

打包前先修改pom.xml的打包方式为war

<packaging>war</packaging>
运行
把war包拷贝到tomcat的webapps目录下,然后进入bin目录执行:
./startup.sh

docker部署

前提:安装docker及docker-compose

进入kvf-admin目录,在已打包(上面打包步骤)的情况下,构建docker镜像
mvn docker:build
进入./docker-compose目录

修改相应docker-compose配置(可选)

vim docker-compose.yml
vim .env
运行(启动所有镜像)
docker-compose up -d
或者启动指定镜像
docker-compose up -d kvf-admin

项目演示

系统效果图展示

系统效果图 系统效果图 系统效果图 系统效果图 系统效果图

开发指南

  • 前端通用配置js【kconfig.js】
  • 前端通用工具js【kcommon.js】
  • 前端静态文件引用统一管理配置【base.html】,在需要引用里面的配置的页面上引用即可,如引用通用的css:<link th:replace="common/base::static"/>
  • 后端自定义日志注解@Log("业务操作说明")[com.kalvin.kvf.common.annotation.Log],在需要加入日志的controller方法上加这个注解即可
  • 缓存使用点我:对需要加入缓存的方法上添加@Cacheable(value="cache_name")注解即可,同时需要在对应的方法上加上更新或删除缓存注解@CacheEvict(value = "cache_name", allEntries = true);也可以使用redisTemplate添加删除更新缓存
  • 代码生成器使用文档点我
  • Spring上下文工具【SpringContextKit.java】,可使用它手动获取指定bean。如IUserService userService = SpringContextKit.getBean(IUserService.class);
  • 自定义异常处理类【KvfException.java】,可用于业务层【service】抛出业务异常,如:throw new KvfException("不存在的任务ID"); ,前端可接收到这个提示信息
  • 统一接口返回数据封装类【R.java】,可用于控制层【controller】返回成功或失败等数据。如R.ok(data); 或 R.fail("验证码不正确");
  • 开发环境【dev】默认关闭登录验证码,若需要开启验证码登录可在application-dev.yml配置开启
  • 通用文件上传接口:CommonController->fileUpload

敬请期待

  • vue-admin版本

常见问题

1.有些人访问报错:org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found,Available parameters are [0, 1, param1, param2]

为什么会出现部分人报错,有些却不报错呢? 答案参考这篇分析文章:点我

####解决方案:

  • 方案一: 可能是使用低版本的idea,因为低版本的idea默认是没有加上-parameters选项的,需要手动加上;(上面的分析文章有详细说明) 或者升级idea版本

  • 方案二: 在mapper的方法参数上加上@Param注解

2.mybatisPlus自带的crud方法默认会根据实体类字段驼峰自动转下划线匹配数据表字段,如果不需要自动转下划线该如何配置

全局配置:

可在配置项map-underscore-to-camel-case配置: 配置为true时,mybatisplus会根据实体类字段驼峰自动转下划线匹配数据表字段如:myColumn(实体字段) -> my_column(表字段)
map-underscore-to-camel-case:true
同理,配置为false时:myColumn(实体字段) -> myColumn(表字段)
map-underscore-to-camel-case:false 全局配置

局部配置:

如果只是部分表或字段需要,可在实体类的字段上配置@TableField(value="表字段")注解指定数据表字段名称如:

@TableField(value = "myColumn")
private String myColumn;

交流反馈

技术交流群

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].