您好,欢迎来到站长目录(28sn.com)!


一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

来源:本站原创 浏览:1089次 时间:2019-09-21
一、前言

最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成

止步传统CRUD,进阶代码优化:

该项目可根据数据库字段动态生成 controller、mapper、service、html、jsp、vue、php、.py ... 等各种类型代码,采用 velocity 模板引擎在页面动态配置生成代码,前后端动态权限配置,前端权限精确到 按钮 级别,后端权限精确到 uri 上,QQ授权第三方单用户登录...等

基本环境:
  1. JDK 1.8
  2. IDEA 2019.2
  3. Redis 5.0.5
  4. MySQL 5.7
  5. Nginx 1.17.1
  6. Docker 18.09.7
  7. Node.js 10.15.3项目使用技术栈:

    前端:Vue + Axios
    后端:Spring Boot 、 MyBatis-Plus
    缓存:Redis
    权限:Shiro
    .......

二、代码生成器介绍线上体验地址: http://www.zhengqing520.com:8100/code-generator/dashboard

在这里插入图片描述

1、登录:

测试账号:test 密码:123456

由于权限问题 线上开放的权限仅只是代码生成器那一部分,需要权限控制、系统日志等功能可fork源码参考~

三方登录目前暂支持QQ授权登录,默认权限只有代码生成器模块,登录过后,30分钟内不进行操作将自动下线,同一账号在别处登录将被挤下线,点击头像在个人信息中可自行修改账号、密码、昵称
在这里插入图片描述

2、代码生成器① 项目管理

在这里插入图片描述
新建一个项目后,编辑项目包,这里和我们ide打开一个项目下面的包层次类似,后面生成的代码也将存放在此树包目录下,可以根据自己的需求来灵活配置建包
在这里插入图片描述

② 初始模板

在这里插入图片描述
这里可以选择给自己的项目添加一个初始模板,在项目模板管理处可选择项目进行一键新增生成对应的模板
在这里插入图片描述
生成规则:根据项目管理中的包名与初始模板中的模板类型名对应上即可生成,不对应的即不会处理~

③ 项目模板管理

列表页面和初始模板列表页面类型,不同的是新增时需要选择项目哦,后面的代码生成将会依照这里配置的代码模板动态生成!
在这里插入图片描述
于是乎,整个代码生成的精髓就在乎这里自己项目所配置的模板哦,这里也给出了可以参考配置的模板数据

数据源配置信息,要在根据数据库字段生成一次代码后才拥有数据可以查看哦,不然会是空数据!

在这里插入图片描述
ex: ${author} 对应生成 zhengqing
${package.input} 对应生成 com.zhengqing.modules.system.dto.input
在这里插入图片描述
另外就需要参考 Velocity 模板引擎的基本语法使用了
这里再例出一个小编配置的实体类模板吧

温馨小提示:在项目的sql中保存有小编代码生成器项目中配置的项目模板以供参考哦~

package ${package.entity};#foreach($pkg in ${table.importPackages})import ${pkg};#endimport io.swagger.annotations.ApiModel;import io.swagger.annotations.ApiModelProperty;import lombok.Data;/** * <p>  ${table.comment} </p> * * @author: ${author} * @date: ${date} */#if(${table.convert})@Data@ApiModel(description = "${table.comment}")@TableName("${table.name}")#end#if(${superEntityClass})public class ${entity} extends ${superEntityClass}#if(${activeRecord})<${entity}>#end {#elseif(${activeRecord})public class ${entity} extends Model<${entity}> {#elsepublic class ${entity} implements Serializable {#end    private static final long serialVersionUID = 1L;#foreach($field in ${table.fields})#if(${field.keyFlag})#set($keyPropertyName=${field.propertyName})#end#if("$!field.comment" != "")    /**     * ${field.comment}     */    @ApiModelProperty(value = "${field.comment}")#end#if(${field.keyFlag})    @TableId(value="${field.name}", type= IdType.AUTO)#else    @TableField("${field.name}")#end    private ${field.propertyType} ${field.propertyName};#end#if(${entityColumnConstant})#foreach($field in ${table.fields})    public static final String ${field.name.toUpperCase()} = "${field.name}";#end#end#if(${activeRecord})    @Override    protected Serializable pkVal() {#if(${keyPropertyName})        return this.${keyPropertyName};#else        return this.id;#end    }#end}
④ 数据库管理
  1. 连接数据库
    在这里插入图片描述
    这里便是配置数据库连接信息了,这里小编给出一个开放的数据库可供连接测试使用,希望读者不要乱搞哦
    数据库连接地址:www.zhengqing520.com:3306 用户名:hello 密码:root
    可以在本地连接小编给出的数据库 在里面新建表然后在页面配置连接后选择表测试生成哦~
    在这里插入图片描述
  2. 选择表
    在这里插入图片描述
  3. 生成代码或修改远程数据库注释信息,这里为了安全考虑未做新增字段,删除字段等功能,如有兴趣,可fork小编源码自行修改其功能
    在这里插入图片描述
3、系统管理① 用户管理

这里不多说,就是一些基础信息

② 角色管理
  1. 将指定的角色分配给指定的用户
    在这里插入图片描述
  2. 分配指定的权限给该角色
    在这里插入图片描述
③ 菜单管理

在这里动态配置后端uri请求权限与前端按钮权限
在这里插入图片描述

④ 系统日志

在这里插入图片描述

三、总结
  1. 该代码生成器,打破传统的CRUD,避免花费太多时间在重复事情上,将更多时间用于学习晋升
  2. 该项目对于小白来说可学习技术也有很多,比如前后端分离跨域解决三方授权登录@Validated后端参数校验简单的redis缓存处理shiro动态权限配置前端按钮级别权限控制 等等,后端使用目前企业流行的Spring Boot+MyBatis-Plus技术栈,前端也是较为普遍 学习轻松的vue。对于全栈了解入门也是一个好的demo
  3. 本文目前只是给出项目使用介绍流程,后续若有时间,将会给出其中某些技术栈的案例教程
    案例demo代码将会存放至:https://gitee.com/zhengqingya/java-workspace
注:实现本代码生成器参考了网上很多前后端教程,以及小编老大肖哥,在这一个月时间里,白天上班,晚上回家利用空闲时间来码代码,其中也是学到了不少东西,现在也分享出来给大家,希望能够帮助到有需要的小伙伴们~
项目源码

觉得还可以的话,请给个❤

GitHub地址:https://github.com/zhengqingya/code-generator码云地址:https://gitee.com/zhengqingya/code-generator

推荐站点

  • 我爱发烧音乐我爱发烧音乐

    我爱发烧音乐囊括了从流行音乐到古典音乐多个类型的音乐作品,专栏推荐最新的音乐,提供音乐排名榜单!可供免费线上收听音乐,歌曲流畅,音效极佳! 网站提供的钢琴以及二胡专栏,可供收听者,陶冶情操,改善心情,是难得的轻音乐典藏!

    www.520fs.com
  • 世纪音乐网世纪音乐网

    世纪音乐网是专业的在线音乐试听MP3下载网站。歌曲总计30余万首,收录了网上最新歌曲和流行音乐,DJ舞曲,非主流音乐,经典老歌,劲舞团歌曲,搞笑歌曲,儿童歌曲,英文歌曲等。是您上网听歌的最佳网站。

    www.ssjj.com
  • 怒江大峡谷网怒江大峡谷网

    怒江大峡谷网内容包括:新闻、要闻、怒江报、视频、文化、民俗、人文、音乐、政务、公告、政策等地方信息。

    www.nujiang.cn
  • 杭州网杭州网

      杭州网是杭州地区唯一的新闻门户网站,由中共杭州市委宣传部、杭州日报报业集团和杭州广播电视集团共同组建的杭州网络传媒有限公司运营。

    www.hangzhou.com.cn
  • 深圳在线深圳在线

      深圳在线 www.szol.net是深圳本地最大、最早的地方生活资讯网站之一,网站名“深圳在线www.szol.net”由南方报业传媒集团编辑委员会总编辑、南方日报社总编辑、南方都市报总编辑、南方书画院名誉院长王春芙亲笔题名,深圳在线www.szol.net团队与深圳热线www.szonline.net、奥一网www.oeeee.com都源于全国最早成立于1996年的知名网络公司——深圳万用网。

    www.szol.net

鄂公网安备 42062502000001号