JeeSite V5.7.1:前后端技术革新与性能优化

一、引言

随着技术的快速发展,企业对快速开发平台的需求日益增加。JeeSite作为一款基于Java的快速开发平台,凭借其强大的功能和灵活的配置,已经获得了广泛的应用。近期,JeeSite发布了V5.7.1版本,该版本在前后端技术上都进行了大量的革新和优化,旨在提升开发效率和系统性能。本文将详细介绍JeeSite V5.7.1版本的主要升级内容,并探讨这些升级对于前端开发和技术架构的影响。

图片

二、后端技术革新

新增功能

  • 随机短字符串生成:新增 IdGen.randomShortString() 方法,方便随机生成短字符串。

  • 便捷工具方法:PropertiesUtils 和 Global 类中新增便捷方法,支持基于属性值的操作。

  • 连接池超时参数:连接池支持 queryTimeout 和 transactionQueryTimeout 参数配置。

  • 动态表名:@Table 注解支持从配置文件中获取表名。

  • SQL验证注解:新增 @SqlFilter validator 注解,用于表单提交时避免非法SQL。

  • 数据库支持:增加对sqlite的查询和cockroachdb分页支持。

  • UI组件优化:dataGrid编辑表格支持下拉框的 itemTitle 属性,显示提示信息。

  • 连接验证:RoutingDataSource 支持连接验证和获取 JdbcTemplate 等方法。

  • 数据库初始化:支持通过脚本直接初始化达梦或人大金仓数据库。

  • 流程分类:新增开源流程分类功能。

  • 工作流配置:支持自定义工作流分类表名和组件参数。

  • 异常处理:新增 FunctionCatchException 类,方便捕获和处理函数异常。

优化项

  • 代码生成优化:优化数据库类型到Java类型的映射,简化字段类型显示。

  • 日志和标题:优化日志标题生成,增加上级菜单和权限信息。

  • 字典管理:优化字典值存储长度,支持级联更新。

  • CMS字段重命名:重命名CMS模块字段,避免数据库关键字冲突。

  • UI美化:优化表单页面、编辑表格、弹窗等UI细节。

  • 全局JTA/XA配置:优化XA配置,支持单个数据源开关。

  • 数据展示:优化修改前后差异数据日志的表格展示和数据显示。

  • 表单提交:优化json表单提交,支持排除不想被序列化的参数。

修正问题

  • 多数据源问题:修正多数据源情况下 tableAndColumn 参数未区分的问题。

  • 弹窗回调:修正弹窗表单保存时回调被调用两次的问题。

  • 格式化问题:修正 js.formatMoney 负数时多返回逗号的问题。

  • 微服务问题:修正微服务下 jobLog 打不开的问题。

注意事项

  • 参数重命名:data-params 在json提交表单中已重命名为 data-url-params。

  • 验证规则:修改了validation的abc验证类型,增加字母开头的验证要求。

JeeSite V5.7.1在后端技术上的革新主要体现在以下几个方面:

  1. 方法新增与优化:新增了IdGen.randomShortString()等方法,提供了更多便捷的工具函数。同时,对PropertiesUtilsGlobal等类进行了优化,使得在设定属性值后执行某操作更加灵活。

  2. 连接池与事务管理:新增了查询超时时间queryTimeout和事务超时时间transactionQueryTimeout参数,提高了系统的稳定性和容错能力。

  3. 注解与数据库支持:新增了@Table注解支持从配置文件中获取表名,以及@SqlFiltervalidator验证注解,提高了代码的可读性和安全性。同时,增加了对sqlite和cockroachdb数据库的支持,扩展了系统的适用范围。

  4. 数据源与流程管理:新增了RoutingDataSource的验证连接状态方法,支持通过脚本直接初始化达梦数据库或人大金仓数据库。此外,还新增了开源流程分类功能和工作流参数配置,提高了系统的可配置性和扩展性。

  5. 代码生成与优化:对代码生成器进行了优化,提高了生成的代码质量。同时,对数据库字段类型进行了简化显示,解决了达梦数据库NVARCHAR2类型获取数据长度不正确的问题。

软件截图 

图片

 

图片

 

图片

图片

  

图片

 

图片

三、前端技术优化

Vue 分离端版本

新增 Upload 组件增加 size 参数

新增抽屉鼠标拖拽调整宽度,默认 true

优化表单填写提示图标更换为问号,并优化大小

优化编辑表格 样式,如输入框、下拉框、选择框等组件,去掉边框和背景

优化编辑表格 Upload 组件展示小一点,防止行高撑大

优化弹窗和抽屉 的内容间距

修正抽屉不显示加载框的问题

修正 路由表单,打开多个的时候,依次关闭到最后一个,表格高度不对问题

JeeSite V5.7.1在前端技术上也进行了大量的优化和改进,主要体现在:

  1. 组件新增与优化:新增了Upload组件的size参数,提供了更多的配置选项。同时,对抽屉组件进行了优化,支持鼠标拖拽调整宽度,提高了用户体验。

  2. 样式优化与调整:对表单、表格、弹窗等组件的样式进行了优化和调整,如美化表单的子标题、优化编辑表格的控件样式等,提高了页面的整体美观度。

  3. 性能优化:对json提交表单进行了优化,新增了data-json-ignore属性以排除不想被序列化的参数。同时,对layer.msg非正常消息设置了更长的timeout时间,提高了用户体验。

  4. 错误修正:修正了多个已知的错误和bug,如弹窗表单保存回调被调用两次的问题、路由表单表格高度不正确的问题等,提高了系统的稳定性和可靠性。

四、升级方法

  • 修改所有 pom.xml 文件中的 jeesite-parent 版本号为 5.7.1-SNAPSHOT

  • 如果您修改了 parent、common、modules 等项目源码,请与 git 上的代码进行同步

  • 修改 json 提交表单,data-params 重命名为 data-url-params, extend 重命名 jsonExtend

  • 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改

  • 执行 root/package.bat(sh) 打包脚本,强制更新依赖。

Spring Boot 3 版本

  • 同上述的所有升级方法的内容

  • 修改所有 pom.xml 文件中的 jeesite-parent 版本号为 5.7.1.springboot3-SNAPSHOT

Vue 分离端版本

  • 请与 jeesite-vue 代码仓库源码进行同步,合并代码,手动解决冲突代码。

  • 匹配后端版本为 JeeSite v5.7.1 或 5.7.1.springboot3

五、总结与展望

JeeSite V5.7.1的发布标志着JeeSite在前后端技术上都取得了显著的进步。通过新增和优化大量的方法和功能,以及对性能的优化和改进,JeeSite为快速开发提供了更加强大和灵活的工具支持。未来,我们期待JeeSite能够继续引领快速开发平台的技术潮流,为企业的信息化建设提供更加优质和高效的服务。

原文链接:

https://mp.weixin.qq.com/s/-7pxWU7166cs6-j4AGRxKQ

图片

了解更多

  • JeeSite 官网地址:http://jeesite.com

  • JeeSite 在线文档:http://docs.jeesite.com

  • JeeSite 演示地址:http://demo.jeesite.com

  • JeeSite Vue 演示地址:http://vue.jeesite.com

  • JeeSite 源码仓库:https://gitee.com/thinkgem/jeesite4

  • JeeSite Vue 前端源码:https://gitee.com/thinkgem/jeesite-vue

  • JeeSite 跨平台手机端:https://gitee.com/thinkgem/jeesite-uniapp

  • JeeSite Cloud 微服务:https://gitee.com/thinkgem/jeesite-cloud

  • JeeSite 客户端安装程序:https://gitee.com/thinkgem/jeesite-client

JeeSite 生态系统

  • 分布式微服务(Spring Cloud):https://gitee.com/thinkgem/jeesite-cloud

  • Flowable 业务流程引擎(BPM):http://jeesite.com/docs/bpm/

  • JFlow 工作流引擎:https://gitee.com/thinkgem/jeesite-jflow

  • 多站点内容管理模块(CMS):https://jeesite.com/docs/cms/

  • 手机端移动端:https://gitee.com/thinkgem/jeesite-uniapp

  • PC 客户端程序:https://gitee.com/thinkgem/jeesite-client

  • Vue3 分离版本:https://gitee.com/thinkgem/jeesite-vue

  • JeeSite 统一认证:https://jeesite.com/docs/oauth2-server

  • TopIAM 统一认证:https://gitee.com/thinkgem/jeesite-topiam

  • MaxKey 统一认证:https://gitee.com/thinkgem/jeesite-maxkey

  • MybatisPlus: https://gitee.com/thinkgem/jeesite-mybatisplus

  • Magic 接口快速开发:https://gitee.com/thinkgem/jeesite-magic-api

  • 内外网中间件:https://my.oschina.net/thinkgem/blog/4624519

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/642359.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

世界最高的自动化立体库之一:贯通6层楼

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 自动化立体库的建设步骤主要包括以下几个方面: 收集需求:首先,与使用者、管理者或业主进行沟通,了…

【启明智显技术分享】SOM2D02-2GW核心板适配ALSA(适用Sigmastar ssd201/202D)

提示:作为Espressif(乐鑫科技)大中华区合作伙伴及sigmastar(厦门星宸)VAD合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫及星宸…

大语言模型实战——搭建纯本地迷你版RAG

1. 概念 RAG(Retrieval Augmented Generation)检索增强生成,它结合了搜索技术和大语言模型的提示词功能,以搜索算法找到的信息作为背景上下文,来辅助大语言模型(Large Language Model, LLM)生成…

【两数之和】python

目录 暴力法 set()集合法,看过即存 字典法dict(),看过即存 暴力法 笑死我了,这题两层循环居然没超时 class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:nlen(nums)for i in range…

解决Element组件el-switch在Vue中值的绑定与回显问题

概要 Switch 开关表示两种相互对立的状态间的切换,多用于触发「开/关」。可当一个布尔值进行使用。 问题描述与解决 引入Element组件的switch到Vue中,可以读取switch的值,但如果放在页面中,不能回显上去。 如上图,无论值是"否"还是“是”。都不能正确渲染到页…

Spring服务启动后就执行某个方法

下边按照执行顺序前后,测试代码结果截图放到最后: 1、注解PostConstruct 时间:当前bean被创建并且所有的依赖注入完成之后执行; 使用:当前bean 所在类内的某个方法上 添加该注解;该方法没有参数&#xf…

宝塔PHP环境安装配置Xdebug

宝塔PHP环境安装配置Xdebug 安装XdebugVSCode安装插件编辑配置文件编辑配置运行调试断点快捷键其他 安装Xdebug 在宝塔中,找到PHP,打开管理页面,选择xdebug扩展,点击操作栏中的安装按钮(这里已经安装过了,…

dolphinscheduler standalone安装

官方文档:https://dolphinscheduler.apache.org/en-us/docs/3.1.3/guide/installation/standalone 1.安装(以放在/home为例) 下载见:https://download.csdn.net/download/taotao_guiwang/89311365 tar -xvzf apache-dolphinsche…

【Linux系统编程】进程概念、进程排队、进程标识符、进程状态

目录 什么是进程? 浅谈进程排队 简述进程属性 进程属性之进程标识符 进程操作之进程创建 初识fork fork返回值 原理角度理解fork fork的应用 进程属性之进程状态 再谈进程排队 进程状态 运行状态 阻塞状态 挂起状态 Linux下的进程状态 “R”(运行状…

02.爬虫---HTTP基本原理

02.HTTP基本原理 1.URI 和 URL 的区别2.HTTP 和 HTTPS 的区别3.请求过程 1.URI 和 URL 的区别 URL(Uniform Resource Locator)即-统一资源定位符 URL是用来定位和访问互联网上资源的独特标识,它包括了资源的位置(如IP地址或域名&a…

让写书人勇敢穿越纸海的迷雾

坚守纸海:让写书人勇敢穿越纸海的迷雾 你作为一位写书人,在创作过程中你需要坚守初心是非常重要的。在创作的过程中,你会遇到各种挑战和困难,你要勇敢面对迷雾中的挑战,并通过不懈的努力和决心,成功地穿越…

Redis常见数据类型(6)-set, zset

目录 Set 命令小结 内部编码 使用场景 用户画像 其它 Zset有序集合 普通指令 zadd zcard zcount zrange zrevrange ​编辑 zrangebyscore zpopmax/zpopmin bzpopmax/bzpopmin zrank/zrevrank zscore zrem zremrangebyrank zremrangebyscore Set 命令小结 …

AI绘画基础,建议用天工 AI 搞副业,30 分钟搞定儿童早教内容

现在 AI 非常火,竞争也非常激烈,尤其是国内的 AI 大模型堪称百团大战,非常内卷。 我研究 AI 大模型也有快一年的时间了,也体验了国内的很多大模型,然后我感觉如果单从用户体验的角度来讲,综合产品力最强的…

FPGA状态机设计详解

一.什么是状态机? 想象一下你正在玩一个电子游戏,角色有多种状态,比如“行走”、“跳跃”、“攻击”等。每当你按下不同的按键或者满足某些条件时,角色的状态就会改变,并执行与该状态对应的动作。这就是状态机的一个简…

修改vuetify3的开关组件v-switch在inset模式下的大小

<v-switchv-model"model":label"Switch: ${model.toString()}"hide-detailsinset></v-switch><style lang"scss" scoped> .custom-switch {:deep(.v-switch__thumb) {height: 18px !important; /* 设置开关按钮的高度 */width…

html 引用vue3 element 首次加载缩成一团 挤在一起

问题&#xff1a;原生html引用vue,element plus 分析&#xff1a; vue.js, element脚本过大&#xff0c;首次加载网络慢的话&#xff0c;会是缩在这里&#xff0c;没完全渲染 解决&#xff1a; 没加载之前&#xff0c;不显示div&#xff0c;显示一个加载提示语 改动地方app…

ISCC 2024 部分wp

文章目录 一、Misc1、Number_is_the_key2、FunZip3、擂台—— 重“隐”&#xff1b;4、RSA_KU5、时间刺客6、成语学习7、 精装四合一8、钢铁侠在解密9、有人让我给你带个话10、Magic_Keyboard11、工业互联网模拟仿真数据分析 二、Web1、还没想好名字的塔防游戏2、代码审计3、原…

curl: (60) SSL certificate problem: self-signed certificat

目录&#xff1a; 1、背景2、测试结果 1、背景 今天帮忙客户排查问题&#xff0c;报错请求超时&#xff0c;但是ping客户的ip以及测试端口都是通的&#xff0c;最终不得不从中台服务器上发起请求客户回调接口&#xff0c;报错如下&#xff1a; 怀疑是客户的证书有问题&#xf…

代码随想录算法训练营第十七天(py)| 二叉树 | 513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树

513.找树左下角的值 力扣链接 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 思路 层序遍历 层序遍历之后&#xff0c;取最后一个数组的第一个元素 class Solution:def findBottomLeftValue(self, root: Optional[TreeNode]) -> …

Python线程

Python线程 1. 进程和线程 先来了解下进程和线程。 类比&#xff1a; 一个工厂&#xff0c;至少有一个车间&#xff0c;一个车间中至少有一个工人&#xff0c;最终是工人在工作。 一个程序&#xff0c;至少有一个进程&#xff0c;一个进程中至少有一个线程&#xff0c;最终…