All Projects → zhengqingya → Code Generator

zhengqingya / Code Generator

止步传统CRUD,进阶代码优化:一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Code Generator

Jeeweb Mybatis Springboot
Springboot2.0+redis+SpringMVC+Spring+Mybatis+Mybatis Plus的Java web分布式开发系统;NettySocketIo排队系统/排队模块/排队框架,它是一款具有代码生成功能的智能快速开发平台;是以Spring Framework为核心容器,Spring MVC为模型视图控制器,Mybatis为数据访问层, Apache Shiro/Spring security为权限授权层,Ehcahe/Redis/Hazelcast对常用数据进行缓存,Disruptor作为并发框架,Bootstrap作为前端框架的优秀开源
Stars: ✭ 318 (-12.64%)
Mutual labels:  springboot
Weatherspider
天气爬虫(全国城镇天气自动定时抓取更新,并开放RESTful查询接口),附带代理IP池定时更新并检测其可用性
Stars: ✭ 337 (-7.42%)
Mutual labels:  springboot
Springboot Javafx Support
SpringBoot / JavaFX8 Integration
Stars: ✭ 354 (-2.75%)
Mutual labels:  springboot
Proxy Pool
java代理IP池 Proxy Pool,提供可用率达到95%以上的代理IP。
Stars: ✭ 325 (-10.71%)
Mutual labels:  springboot
Shiro Springboot
shiro 框架的构建以及与 JWT 的整合
Stars: ✭ 334 (-8.24%)
Mutual labels:  springboot
Ac Blog
适合学生搭建的个人博客-从零开始(网站地址:www.lqnb.xyz)
Stars: ✭ 345 (-5.22%)
Mutual labels:  springboot
Docs
Java知识总结:MySQL实战45讲,多线程和JVM知识总结,,SpringBoot,SpringCloud,Storm系列,微信小程序开发,ELK,《JAVA核心技术36讲笔记》,《深入理解JVM虚拟机笔记》,《高性能MySQL笔记》,《数据结构与算法》等等
Stars: ✭ 308 (-15.38%)
Mutual labels:  springboot
Lion
使用Gradle构建,基于Java 8/11/13、SpringBoot 2.2.6.RELEASE、SpringCloud Hoxton.SR2、Spring Cloud Alibaba 2.2.0.RELEASE、MyBatis Plus 3.3.1等核心技术体系实现的一套支持云原生的分布式微服务架构,提供OAuth2/JWT权限认证、分布式事务、灰度、限流、熔断降级、分布式锁、链路追踪、MQ等功能,支持Docker容器化部署、镜像交付、K8S容器编排
Stars: ✭ 360 (-1.1%)
Mutual labels:  springboot
Springcloud Learning
一套涵盖大部分核心组件使用的Spring Cloud教程,包括Spring Cloud Alibaba及分布式事务Seata,基于Spring Cloud Greenwich及SpringBoot 2.1.7。22篇文章,篇篇精华,32个Demo,涵盖大部分应用场景。
Stars: ✭ 4,377 (+1102.47%)
Mutual labels:  springboot
Spring Cloud Cli
基于Spring Cloud实现微服务前后端系统
Stars: ✭ 351 (-3.57%)
Mutual labels:  springboot
Trampoline
Admin Spring Boot Locally
Stars: ✭ 325 (-10.71%)
Mutual labels:  springboot
Springboot Guide
SpringBoot2.0+从入门到实战!
Stars: ✭ 4,142 (+1037.91%)
Mutual labels:  springboot
Springboot Shiro Vue
提供一套基于Spring Boot-Shiro-Vue的权限管理思路.前后端都加以控制,做到按钮/接口级别的权限。(当前新版本已移除shiro依赖,简化了配置)
Stars: ✭ 3,887 (+967.86%)
Mutual labels:  springboot
Tarsjava
Java language framework rpc source code implementation
Stars: ✭ 321 (-11.81%)
Mutual labels:  springboot
Lamp Cloud
lamp-cloud 基于Jdk11 + SpringCloud + SpringBoot的微服务快速开发平台,其中的可配置的SaaS功能尤其闪耀, 具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。
Stars: ✭ 4,125 (+1033.24%)
Mutual labels:  springboot
Onlineexecutor
基于 Spring Boot 的在线 Java IDE
Stars: ✭ 314 (-13.74%)
Mutual labels:  springboot
Superboot
随着技术日新月异,新技术新平台不断出现,对现如今的开发人员来说选择快速高效的框架进行项目开发,既能提高产出,又能节约时间。本框架无需开发即可实现服务注册、服务发现、负载均衡、服务网关、配置中心、API管理、分布式事务、支撑平台、集成框架、数据传输加密等功能,是学习SpringCloud整体业务模式的完整示例,并且可以直接用于生产环境
Stars: ✭ 341 (-6.32%)
Mutual labels:  springboot
Xinguan
SpringBoot+Vue+Element-UI (新冠-物资管理系统) 纯前后端分离项目, 抗疫相关物料的管理系统,领用、派发记录,库存查询统计。寂寞消遣之作~, 项目预览地址:https://www.zykhome.club 武汉加油
Stars: ✭ 359 (-1.37%)
Mutual labels:  springboot
My Shop
my-shop基于Spring+SpringMVC+Mybatis+Shiro+redis+Vue+Swagger2小程序商城+(vue)微信商城+综合管理后台+网站商城+运营商平台+APP平台+第三方平台 = 综合一体化平台.前后端分离,分布式敏捷开发系统架构,提供整套公共微服务服务模块:内容管理、支付中心、用户管理(包括第三方)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案, 致力打造通用综合一体化管理平台。官方qq群:711281203,群2:685261895 (如有问题,请联系,小天qq:2366307000)
Stars: ✭ 359 (-1.37%)
Mutual labels:  springboot
Dokit
基于 Spring Boot2、 Jpa、 Spring Security、JWT、redis、Vue的前后端分离的后台管理系统开发平台, 用户管理、菜单管理、角色管理、字典管理、权限控制的方式为RBAC,操作日志、异常日志、接口限流、项目支持数据权限管理,支持一键生成前后端代码(支持在线预览及打包下载),支持前端菜单动态路由 可一键部署服务器应用,数据库。系统中活跃用户状态监控,监视当前系统CPU、内存、磁盘、堆栈等相关信息,基于Element UI在线表单设计及生成Vue代码。
Stars: ✭ 348 (-4.4%)
Mutual labels:  springboot

Spring Cloud Alibaba 微服务版本地址:https://gitee.com/zhengqingya/small-tools

一、前言

最近花了一个月时间完成了一套基于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 .......

项目部署

参考: docker-compose部署项目到服务器

二、代码生成器介绍

线上体验地址: http://www.zhengqingya.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};
#end
import 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}> {
#else
public 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
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].