Guns自动化生成代码使用
一、Guns简介
Guns基于Spring Boot2,致力于做更简洁的后台管理系统。包含系统管理,代码生成,多数据库适配,SSO单点登录,工作流,短信,邮件发送,OAuth2登录,任务调度,持续集成,docker部署等功。支持Spring Cloud Alibaba微服务。社区活跃,版本迭代快,加群免费技术支持。
在最新版的6.1中,代码生成功能被刻意隐藏掉了,如果需要使用该功能,可通过收费购买,或者使用低版本的5.x,4.x。
我这里使用的是5.1版本。
链接地址:https://gitee.com/stylefeng/guns/tree/v5.1-final
这里也列出了部分历史版本。
|
版本名称 |
说明 |
地址 |
|
Guns旗舰版 v2.4 |
修复单数据源下事务不生效问题,现为了防止单数据源多数据源冲突,现在多数据源的配置放入multi-datasource分支维护 |
|
|
Guns旗舰版 v2.3 |
强力集成atomikos,MM再也不用担心多数据源事务问题,感谢Guns二群月下魔术师兄弟贡献的解决方案 |
|
|
Guns旗舰版 v2.2 |
修复日志模块,记录业务日志,部分字段缺失的问题 |
|
|
Guns旗舰版 v2.1 |
菜单管理表格改为树形表格,部门增加左侧树 |
|
|
Guns旗舰版 v2.0 |
基于layui的全新旗舰版,demo地址:http://demo.stylefeng.cn |
|
|
Guns旗舰版 v1.1 |
全面升级spring boot和mybatis-plus版本 |
|
|
Guns旗舰版 v1.0 |
全新的UI界面,采用bootstrap 4 + vue,全新的规范化的数据库设计 |
|
|
Guns v5.1 |
Guns经典版的最新版,采用bootstrap 3 |
|
|
Guns v4.2 |
spring boot升级到了2.0,大大简化了前端的体积,升级了一些组件到最新版本 |
|
|
Guns v3.3 |
模块化了整个项目,整体拆分成4个模块,增加了jwt,并集成工作流flowable 6.2.0 |
|
|
Guns v2.4 |
基于spring boot全面升级,更加简化配置和依赖,更专注于开发业务 |
|
|
Guns v1.0 |
Guns的第一个版本,率先采用spring java bean方式的配置,零spring xml配置,spring用到极致 |
二、对该框架的认知
Guns框架是基于SpringBoot实现的一种快速构建项目的后台管理系统。并且内部包含代码生成功能,能够替代我们通过手工配置相关参数,完成代码的撰写,并且通过shiro框架完成权限的分配,我们只需要在权限分配页面赋予对应角色相关权限,即可完成相应授权。
由于Guns每次操作皆是全量型操作,即每次新增、更新等操作时,会对整个数据库进行全量更新,所以对于一些对响应效率较高的项目并不太适用。再者,对于一些用户权限隔离的用户,也不太适用,比如A(开发)、B(人事)、C(财务)共用同一个菜单,A用户在某个菜单做了某笔交易,具有相同权限的B用户也能够看到,C也能看到,无法实现权限与用户功能分离。
三、标志型模块使用
1) 验证码开启
首先在login.html页面中查看,会发现验证码功能其实是存在的,但是实际上并没有显示,可以推断出验证码是被隐藏了,我们只需要开启即可。而kaptcha是一款针对验证码生成的jar包。而在代码中,我们可以找到KaptchaController中的loginVali方法,在登录时会进行验证验证码。

而界面展示需要在application.yml文件中配置。将kaptcha-open配置为true即可。

在GunsProperties文件中,需要手动将kaptchaOpen配置为true。

最后重启项目即可。

2) 代码生成
该功能是为了能够简化开发代码,实现自动化生成。前提是数据库需要配置准确,数据库在application.yml文件中配置。按照如图功能配置后需要在菜单中添加新增的菜单,即可完成展示。

Guns自动化生成代码使用的更多相关文章
- mybatis根据表逆向自动化生成代码(自动生成实体类、mapper文件、mapper.xml文件)
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- Mybatis自动化生成代码
Mybatis是Java EE中比较主流的一种持久化orm框架,其缺点是不够灵活,需要写的代码较多,包括: 一个sql-map-config.xml 对应每个表的xml文件 对应每个表的实体POJO ...
- Mybatis_generator自动化生成代码
1.Run as 2.ok
- 【Unity】工具类系列教程—— 代码自动化生成!
转载自:https://zhuanlan.zhihu.com/p/30716595?utm_medium=social&utm_source=qq [为什么要做自动化工具] 工具类的创建是为了 ...
- 使用C#通过调用minitab的COM库自动化生成报表
本文介绍通过C#调用minitab com组建自动化生成报表的方法. 首先需要在minitab中通过手动配置的方式生成报表来得到该报表的命令行,过程如下 选择菜单“编辑器”->“启用命令”启用命 ...
- Jenkins+PMD构建自动化静态代码检测
前言:软件缺陷是不可避免的,要尽量减少错误并提高软件质量,主要有两在类技术,即缺陷预防和缺陷检测 缺陷预防包括编写更好的设计规范.实施代码审核制度.运行代码静态分析工具.运行单元测试等 PMD是一种开 ...
- 基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v4.1.2版)
目录: 第1版:http://blog.csdn.net/vipbooks/article/details/51912143 第2版:htt ...
- 搭建基于SornaQube的自动化安全代码检测平台
一.背景和目的 近年来,随着新业务.新技术的快速发展,应用软件安全缺陷层出不穷.虽然一般情况下,开发者基本都会有单元测试.每日构建.功能测试等环节来保证应用的可用性.但在安全缺陷方面,缺乏安全意识.技 ...
- (Python)自动生成代码(方法一)
在写某个平台的自动化脚本时,笔者把全部的操作都封装到了两个类中,page.py和commonpage.py: page.py部分代码: class BasePage(object): ''' 页面基础 ...
随机推荐
- 图解连接阿里云(一)创建阿里云物联网平台产品和设备,使用MQTT.fx快速体验
1. 打开 https://www.aliyun.com/ 注册账号 2.注册账号登录后点击控制台 3. 在下图1处输入物联网平台,会弹出2处所示物联网平台的入口,点击红色箭头所示处,进入物联网平 ...
- CenOS下监控工具尝试
Cacti cacti重图形,有数据历史,需要用到数据库支持,支持web配置,默认不支持告警,可以加插件. Server端配置 安装epel yum install -y epel-release 安 ...
- Kotlin for Java Developers 学习笔记
Kotlin for Java Developers 学习笔记 ★ Coursera 课程 Kotlin for Java Developers(由 JetBrains 提供)的学习笔记 " ...
- Tree--二叉树BinarySearchTree
BinarySearchTreeMap的实现 1 public interface Map<K extends Comparable<K>, V> { 2 void put(K ...
- 为什么Python中称__lt__、__gt__等为“富比较”方法
Python中基类object提供了一系列可以用于实现同类对象进行"比较"的方法,可以用于同类对象的不同实例进行比较,包括__lt__.__gt__.__le__.__ge__._ ...
- vue中两行代码实现全选及子选项全部选中,则全选按钮选中,反之有一个没选中,就取消选中全选按钮
every() 方法使用指定函数检测数组中的所有元素: 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测. 如果所有元素都满足条件,则返回 true. 逻辑 ...
- 网鼎杯2020 AreUSerialz
0x00 前言 ...有一说一,赵总的BUUCTF上的这道题目并没有复现到精髓.其实感觉出题人的题目本身没有那么简单的,只不过非预期实在是太简单惹. 涉及知识点: 1.php中protected变量反 ...
- HTML 实战生成一张页面
1 HTML简介 1.1 解释 HTML是用来描述网页的一种语言. HTML即超文本标记语言(Hyper Text Markup Language): HTML不是一种编程语言,而是一种标记语言(ma ...
- Python3安装且环境配置(三)
1.在Window 平台安装 Python3 以下为在 Window 平台上安装 Python3 的简单步骤: 打开WEB浏览器访问http://www.python.org/download/ 在下 ...
- pandas 处理缺失值(连续值取平均,离散值fillna"<unk>")
# 2.1处理缺失值,连续值用均值填充 continuous_fillna_number = [] for i in train_null_ix: if(i in continuous_ix): me ...