JeecgBoot 使用心得

引言

我还在上大学的时候,就听说过 JeecgBoot 的大名,但那时还没有对 JeecgBoot 进行深入的了解,我习惯使用 Ruoyi 作为我最常用的 Web 开发脚手架。一年前我作为一名Web全栈开发加入到新公司,公司的项目使用 JeecgBoot 开发,第一次体会到了如此高效畅快的开发体验,Online 表单和各种字典组件的设计,无疑是大大的提高了我的开发效率。我的毕业设计记忆卡片软件的后台也是使用 JeecgBoot 快速构建的。

开发中遇到的一些问题和小建议

支持一下 LocalDateTime

在这里插入图片描述

这里 MyBatis 的自动注入创建时间和更新时间,传参固定使用了 Date(),Online 表单生成也都是 Date 类型,很多使用 LocalDateTime 的API要更好用一些,在开发过程中还需要做额外的转换,就太方便了。

前端组件字典缓存问题

比如前端的 JSearchSelect、JDictSelectTag 组件,当设置的sql字典数据更新时,前端的组件并不能自动的刷新字典,我的解决方法如下:

下拉框(JSearchSelect、JDictSelectTag)

解析 JSearchSelect 的源码,初始化字典的时机是父组件传入的 props.dict 的字典配置内容发生改变

watchEffect(() => {  
  props.dict && initDictData();  
});

两种方案:

  1. dict 配置设置为动态数据并更新
<j-search-select :dict='jSearchSelectDictOption' />
<script setup>
	const jSearchSelectDictOption = ref("table_name,table_text,id");
	function initSelectDictOption() {
		jSearchSelecDictOption.value = "";
		jSearchSelecDictOption.value = "table_name,table_text,id";
	}
</script>
  1. 开放 initDictData 方法,先将方法 return 出来
<j-search-select ref="jSearchSelectRef" />
<script setup>
	const jSearchSelectRef = ref();
	jSearchSelectRef.value.initDictOption();
</script>
JVxeTable

JVxeTable 也是监听字典配置进行的初始化,它监听的是表的 columns 数据。例如:

const table = reactive<Record<string, any>>({  
  loading: false,  
  columns: tableColumns, // 就是这个数据
  dataSource: [],  
});

tableColumns.map((item) => {
	delete item.options
});

table.columns = deepClone(tableColumns);

git hook 问题

前端之前使用的是 husky 来构建 git hook,但之前为了统一docker部署,就合并到了相同的 git 存储库,这就导致 husky 在里面不可用了。建议恢复两个仓库,并保留 JeecgBoot 仓库,通过 git submodule 关联前后端两个子仓库。

其它

在开发过程中也偶尔会看到源码中的小 bug,并提出了 issues,官方都会很快的修复问题,并告诉我解决方案。

在这里插入图片描述

功能上的建议

  1. Online 表单是否可以添加一些配置,比如是否开启逻辑删除,是否开启乐观锁。
  2. 生成代码携带字表的 Page 类,直接继承主表的 entity,避免额外的维护。
  3. 开发中经常会遇到根据不同流程状态禁用某些字段编辑权限的需求,可以将所有字段的 disabled 设置为 disabled || isDisabledFiled('fieldName'),然后在里面设计流程和字段的逻辑,不知道这个是不是可以作为JeecgBoot默认的代码生成规则。

推荐一些我觉得大部分人都会喜欢的通用功能,我在公司的项目中开发了这些功能,使用率很高:

  1. Jeecg工作台的快捷导航,现在需要手动填写,可以做成动态的,在左侧菜单栏那里加个星星图标用于加入快捷导航。
  2. 给 BasicModal 和 JModal 组件,添加一个props,标记这个props的Modal展开的大小自动为只保留左侧菜单栏的大小

大概效果:
在这里插入图片描述

在这里插入图片描述

展望

在这一年的使用过程中,也发现了 JeecgBoot 的一些问题,但很快就都被开发团队解决掉了。最有意思的是,每当老板给我提出一些特殊需求时,总是能在第二天收到 Jeecg 官方带来的好消息!

老板JeecgBoot
做个BI大屏好的,我先找找工具积木报表开源,支持BI大屏
这个模块我想独立成一个系统,做个单点登录好的,我研究一下JeecgBoot 单点登录开源
JeecgBoot出了个AI助手,集成一下,做一下知识库目前好像只支持 ChatGPT,如果接入 Ollama 需要做些开发。最新支持,通过Ollama本地接入DeepSeek大模型

每次听到消息的那一刻,我直呼 woc。先后又免费了敲敲云无代码平台,近期我看到 JeecgBoot 的开发文档焕然一新,心里又是一喜,之前开发过程中总是会发现一些文档内容缺陷,还需要到旧版的文档寻找答案,但依然可能无果。

总之,我在 JeecgBoot 身上学习到很多,也看到了 JeecgBoot 的飞速成长,即便在 AI 盛起的热潮下,JeecgBoot 也紧跟时代,我相信 JeecgBoot 会越来越好。

### JeecgBoot 使用教程完整指南 JeecgBoot 是一款专注于企业级应用开发的开源低代码平台,其设计目标是通过高效的代码生成工具和灵活的功能模块帮助企业快速构建复杂的应用系统。以下是关于 JeecgBoot使用教程及其核心功能的详细介绍。 #### 核心功能概述 JeecgBoot 提供了一系列强大的功能来支持开发者完成复杂的业务逻辑实现。这些功能包括但不限于以下几点[^1]: - **代码生成器**: 自动化生成前后端代码,减少手动编码的工作量。 - **权限管理**: 支持基于角色的访问控制 (RBAC),能够满足大多数企业的安全需求。 - **表单设计器**: 可视化的拖拽操作简化了动态表单的设计过程。 - **流程引擎集成**: 集成了 Activiti 或 Flowable 流程引擎用于工作流自动化处理。 #### 入门步骤详解 为了更好地理解和掌握 JeecgBoot 平台,可以按照如下方法逐步学习: ##### 下载与安装环境配置 首先需要下载最新版本的 JeecgBoot 源码并搭建运行所需的软硬件环境。具体来说: - Java JDK 版本建议为 8 或以上; - 数据库推荐 MySQL, PostgreSQL 等主流关系型数据库; - Maven 构建工具用来编译项目文件; ##### 初始化项目结构 初始化完成后可以通过内置脚手架命令创建初始工程骨架。执行 `mvn clean install` 来打包整个应用程序,并启动服务验证基本设置是否成功[^3]。 ##### 利用在线表单生成功能加速开发进度 利用 JeecgBoot 提供的强大代码生成能力,可以根据已有数据模型一键生成完整的 CRUD 接口以及对应的页面组件。此特性极大缩短了常规重复劳动时间成本。 ```bash # 启动 jeecg-boot 应用程序实例 java -jar jeecg-boot-module-system/target/jeecg-boot-module-system.jar ``` ##### 查阅官方文档获取更多细节指导 除了上述基础介绍外,更深入的内容比如自定义扩展点、插件机制等内容则需参照官方手册进一步研究探讨[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MuShan-bit

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

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

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

打赏作者

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

抵扣说明:

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

余额充值