代码生成平台简介

GitHub地址:代码生成平台

代码生成平台

根据自定义的代码模版生成代码,支持两种模版引擎编写的模版:Thymeleaf、FreeMarker
项目演示地址:代码生成平台 账号/密码:游盼盼/123456

项目组成结构

  • screenshots:截图
  • union-base-generator:代码生成平台主程序
  • union-commons-util:基础工具类

项目技术

  • 后端技术
    • SpringBoot
    • Thymeleaf
    • FreeMarker
    • Mybatis
    • Mysql
  • 前端技术
    • Ace Admin页面框架
    • Jquery
    • Bootstrap
    • layui

项目运行

1.准备数据库,根据sql文件(/union-base-generator/文档/数据库sql/code_generate.sql)建立数据库

2.编译打包项目union-commons-util
mvn clean install

3.修改连接的数据库配置
/union-base-generator/src/main/resources/application-dev.properties
/union-base-generator/src/main/resources/application-prodproperties

4.编译项目union-base-generator
mvn clean package

5.运行打好的jar,进入union-base-generator/target目录下执行
java -jar union-base-generator-2.0.6.RELEASE.jar --spring-profiles.active=dev

6.访问http://localhost:84

使用讲解

1.登录
登录界面
这里使用管理员登录
2.登录后主界面
管理员主界面
这里可以看到系统具有的功能如下:

  • 统计信息
    这里统计系统的一些数量信息,包括模版引擎数量、上下文数量、项目数量、用户数量、模版数量、代码生成数量等
  • 代码生成
    • 代码生成
      根据模版生成代码
    • 代码生成记录
      代码生成的记录,可以用来下载生成的代码
  • 模版管理
    上传自定义的模版,可以是单模版,也可以是组合模版(多个模版的组合)
  • 模版引擎管理
    管理模版支持的引擎,目前支持两种:Thymeleaf、FreeMarker
  • 上下文管理
    模版文件的内容提供者,用来产生模版中使用的一些变量,通过前端传入的参数来提供相应的数据
  • 项目管理
    将用户进行整合到一个项目中,一个项目的模版可以进行公开,这样项目中所有的成员都可以看到该模版
  • 权限管理
    管理用户、角色、URL,并设置角色所能访问的URL来管理权限
    3.管理模版引擎
    管理模版引擎
    4.管理上下文
    这里分为3个功能
    (1)上下文实现配置
    管理上下文实现类:参数类是什么,实现类是什么
    上下文实现配置
    (2)上下文参数配置
    配置上下文参数,用于传递参数到后台,与参数类字段对应
    上下文参数配置
    (3)上下文参数实例管理
    为了将参数配置实例化,避免生成时多次输入参数值,从实例中选择即可
    上下文参数实例管理
    5.管理模版
    模版管理
    新增模版
    新增模版时可以选择模版的类型,如果是单模版则需要上传模版文件,如果是组合模版则选择单模版即可;
    单模版需要选择使用的模版引擎是什么,同时需要指定依赖的上下文;
    模版的开发类型分为私有、项目组,如果选择项目组则同一项目组的所有用户都可以看到该模版并使用该模版。

6.代码生成
代码生成
选择要生成代码的模版,系统自动带出所依赖的上下文及上下文参数,输入上下文需要的参数值,点击保存即可生成代码
代码生成记录
代码生成记录可以看到已生成的代码,并通过代码文件进行下载
7.项目管理
项目管理
8.权限管理

  • 用户管理
    管理系统用户,用户不允许注册,只能通过管理员添加
  • 角色管理
    系统已有的角色:项目管理员、开发人员、系统管理员
    角色管理
  • URL管理
    URL包括系统菜单URL、功能URL
    URL管理

二次开发

模版引擎开发

目前系统中有两个模版引擎
FreeMarker:com.chengxuunion.generator.component.engine.impl.FreeMarkerEngineClient
Thymeleaf:com.chengxuunion.generator.component.engine.impl.ThymeleafEngineClient
通过实现com.chengxuunion.generator.component.engine.EngineClient接口

继承com.chengxuunion.generator.component.engine.impl.AbstractEngineClient抽象类
来实现模版引擎

AbstractEngineClient将对模版的非核心处理做了封装,具体的模版处理由实现类去做
抽象出两个方法:

  • getTemplateProcess获取模版引擎处理对象
  • process处理模版引擎文件

上下文开发

目前系统实现了两个上下文,一个基础上下文,一个数据库表描述上下文
用户可以通过继承com.chengxuunion.generator.component.context.AbstractDataContext来实现自己的上下文
可以参考:
com.chengxuunion.generator.component.context.basic.service.BasicDataContext
com.chengxuunion.generator.component.context.database.service.DataBaseDataContext

上下文参数

上下文参数是上下文需要接收的对象,是一个Java Bean,非常简单,定义一个字段及字段的get/set方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来了就走下去

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值