基于SpringBoot版本的Java注解驱动页面增删改查的渲染的开源应用

一款基于Java注解模版就能轻松完成复杂的增删改查的页面渲染以及事件交互,让后端小伙伴不在为了查询和表单提交而头疼。

开源地址

Github 开源地址

Gitee 码云地址

功能介绍

  • 基于注解驱动前端页面的渲染
    • 注解支持Spring的表达式
    • 支持静态枚举类、动态字典等等
    • 支持复杂表单的嵌套(页面嵌套页面)
    • 支持页面分组
    • 支持规则校验配置等等
  • 支持通用按钮事件的定义
    • 行按钮
    • 左边栏按钮
    • 右边栏按钮
  • 支持集成页面组件
    • 如json,默认input、select等等
  • ruoyi后台基础管理系统基础组件
    • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
    • 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
    • 岗位管理:配置系统用户所属担任职务。
    • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
    • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
    • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
    • 参数管理:对系统动态配置常用参数。
    • 通知公告:系统通知公告信息发布维护。
    • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
    • 登录日志:系统登录日志记录查询包含登录异常。
    • 在线用户:当前系统中活跃用户状态监控。
    • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
    • 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
    • 系统接口:根据业务代码自动生成相关的api接口文档。
    • 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
    • 缓存监控:对系统的缓存查询,删除、清空等操作。
    • 在线构建器:拖动表单元素生成相应的HTML代码。
    • 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

文档

项目背景及应用场景介绍

为了提升阅读体验可以观看全局文档:

全局文档点击观看

全局文档点击观看

全局文档点击观看

使用前稍微了解下:

如何使用

1. 环境搭建以及项目引入以及效果展示

2. 前端ruoyi-avue-ui环境搭建

代码结构

ruoyi-avue-client 相关

注解相关的介绍

展示图

1. 操作介绍

负责展示了各模块的关系

image-20211029110727955

2. 模版案例

// 模版对应的编号
@AVueRouteKey(groupKey = "test-route")
// 表格的标题
@AVueTableOption(title = "这是一个测试", dialogDrag = true)
// 适配后台服务的对应的处理接口
@AVueConfig(list = AVueControllerTest.LIST_URL, update = AVueControllerTest.UPDATE_URL, save = AVueControllerTest.UPDATE_URL, successKeyword = "true", successField = "success", messageField = "message")
public class AVueCrudModel {
    /**
     * 注解介绍
     *
     * `@AVueInput`: 组件类型以@AVue开始,后面是具体的组件。
     * - input  : 代表文本框
     * - select : 代表选择框
     * - number : 代表数字框
     * - json   : 代表json组件
     * <p>
     * 属性介绍:
     * addDisplay       : 表示新增的时候是否展示
     * editDisabled     : 表示修改的时候是否不可编辑
     * search           : 代表列表页是否为搜索条件
     * searchRequired   : 代表搜索条件是否为必填
     * dicData          : 代表枚举字典
     * dicUrl           : 代表后台拉取对象
     * 具体属性释义可参考 :  https://avuejs.com/views/doc.html
     * 注解文档参考 : https://gitee.com/liukaixiong/RuoYi-AVue-Plus/blob/master/doc/annotation.md
     */
    @AVueInput(prop = "id", label = "主键", addDisplay = false, editDisabled = true, search = true)
    private String id;

    @AVueInput(prop = "username", label = "用户名称", search = true)
    private String username;

    @AVueSelect(prop = "checkStatus", label = "认证状态", dicData = "CheckStatusEnums", search = true)
    private String checkStatus;

    @AVueSelect(prop = "likeStar", label = "喜欢明星", dicData = "test-likeStar-map")
    private Integer likeStar;

    @AVueNumber(prop = "age", label = "年龄", labelTip = "这是选择年龄的地方")
    private Integer age;

    @AVueRadio(prop = "sex", label = "性别", border = true, dicData = "SexEnums")
    private int sex;

    @AVueDatetime(prop = "validDate", label = "有效时间")
    private Date validDate;

    @AVueTime(prop = "time", label = "时分秒选择")
    private Date time;

    @AVueTimeRange(prop = "timeRange", label = "时分秒范围")
    private Date timeRange;

    @AVueDateRange(prop = "dateRange", rangeSeparator = "-", label = "日期范围", search = true, valueFormat = "yyyy年MM月dd日", format = "yyyy-MM-dd")
    private String dateRange;

    @AVueCheckbox(prop = "interest", label = "兴趣爱好", dicData = "InterestEnums")
    private List<String> interest;

    @AVueSwitch(prop = "status", label = "状态", dicData = "StatusEnums")
    private int status;

    @AVueDynamic(prop = "simpleModel", label = "子表单测试")
    private AVueSimpleModel simpleModel;

    @AVueGroup(prop = "groupModel", label = "分组测试1")
    private AVueNodeModel groupModel;

    @AVueGroup(prop = "groupModel2", label = "分组测试2")
    private AVueNodeModel groupModel2;
    // 省略get/set .... 其实如果只作为模版的话不需要getset.
}

相关案例模版,后续会继续补充

3. 页面展示

1. 列表页效果

image

2. 新增页面效果

image

3. 修改效果

修改

动态效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4uAM5kLE-1638426875013)(ruoyi-avue-client/README.assets/6d4ftd.gif)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sqrkx22s-1638426875015)(ruoyi-avue-client/README.assets/xyju9p.gif)]

特别感谢

作者主页 框架
smallweigit AVue
若依 若依系统

如果你有比较好的想法或者建议请加QQ : 444368875 或者发送邮件 444368875@qq.com

希望大家多多支持,我会时刻关注并且加以改进。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容