自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李四维的博客账号

程序员小白

  • 博客(46)
  • 收藏
  • 关注

原创 《工作流落地篇:工作流中涉及到的主要数据库表》

Activiti工作流引擎主要表结构及功能: 部署相关表:act_ge_bytearray存储资源文件,act_re_deployment记录部署信息,act_re_procdef保存流程定义数据 运行时表:act_ru_task管理执行任务,act_ru_execution记录流程实例,act_ru_identitylink存储参与者信息 历史表:act_hi_actinst记录活动节点,act_hi_procinst保存流程实例,act_hi_taskinst存储任务实例 变量表:act_ru_vari

2025-09-19 20:07:51 874

原创 《工作流落地篇:驳回节点任务》

绩效走到“上级评”才发现数据漏填?本文手把手拆解 Flowable 驳回功能:前端只传一个 targetTaskId,后端六步校验、查询、移动、清脏数据,用 runtimeService.changeState() 秒回自评节点,并批量抹掉中间变量与历史任务,让流程“时间倒流”却不留痕迹。附赠可复用 RollbackUtils,直接嵌入任何中国特色审批场景。

2025-09-19 20:02:57 982

原创 《工作流落地篇:如何查询历史数据》

文章摘要: 本文深入探讨了Flowable工作流引擎中历史数据的查询与应用。通过绩效审批流程案例,演示了如何从历史变量反查流程实例、定义及部署信息,实现业务数据的完整追溯。作者详细介绍了使用HistoryService进行多层级查询的API方法,并对比了不同实现方案的优劣,强调通过全局变量优化查询性能。文章总结了历史数据的核心价值(审计、统计)和典型应用场景(绩效、合同审批等),提出"变量→历史→封装"的三步查询法,为工作流开发提供了实用指导。

2025-09-17 15:53:37 1101

原创 《工作流落地篇:使用流程变量传递业务数据》

摘要:本文介绍了Flowable流程变量的使用,包括定义、分类和操作方法。流程变量分为运行时变量(存储于act_ru_variable表)和历史变量(存储于act_hi_varinst表),支持基本数据类型和Java对象。文章详细展示了如何通过runtimeService和taskService设置全局和局部流程变量,并在绩效流程中实现分数传递功能。全局变量生命周期跟随流程实例,局部变量仅存在于任务执行期间。最后强调流程结束后的历史变量查询方法,并提供了代码示例和接口测试说明。(150字)

2025-09-17 15:47:12 862

原创 《工作流落地篇:idea中代码控制流程流转》

本文承接 UI 建模,演示用 Idea+SpringBoot 纯代码驱动 Flowable:导绩效模型→新建项目配 flowable 异步与自动更新→RepositoryService 部署 BPMN→RuntimeService 按定义 id 启动得实例→TaskService 按承办人查待办、完成审批。每次操作均给出核心表变化(act_re_、act_ru_、act_hi_*),并提醒自管用户需自写鉴权。至此,读者已掌握“部署-启动-审批”完整链路,可应对常规业务流程开发。

2025-09-16 21:12:28 907

原创 《工作流落地篇:通过Flowable-UI体验一个简单流程》

本文手把手演示如何用 Flowable-UI 低代码完成“绩效自评-上级评-隔级评”流程:下载 6.x 版本 war 包,java -jar 启动后,用 admin/test 登录;在建模器里拖放开始、用户任务、结束节点,设 key 与固定处理人 a/b/c,保存→创建应用→关联模型→发布;再建 a/b/c 账号并赋权,依次登录完成任务,在“已办”查看流程结束。全文让读者零代码体验流程生命周期,为后续 Java 编码打下基础。

2025-09-16 21:07:34 1205

原创 《工作流落地篇:芋道 Flowable 功能 5 分钟开启指南》

本文是“流程入门”实战续篇,手把手教你激活芋道内置的 Flowable 工作流。先覆盖 Liquibase 补丁、调整 database-schema-update 开关,再依次开启 yudao-module-bpm 模块、导入 bpm_ 表 SQL、重启验证。配套会签、或签、抄送等 12 种中国特色审批能力即刻生效,5 分钟完成从 0 到可设计流程的跨越。

2025-09-15 21:34:21 2598 6

原创 《从请假到云原生:读懂工作流引擎选型与实战》

本文用“请假”故事秒懂工作流:定义、BPMN图、事件驱动。对比Activiti、Camunda、Flowable起源、性能、云原生与收费,附选型决策表。10分钟掌握原理、部署、监控全链路,立即优化你的业务流程。

2025-09-15 21:25:37 1048

原创 用一杯咖啡的时间,带你入门 Spring AI Alibaba & Jmanus

如果你是一名 Java 工程师,看到 Python 圈用 LangChain 玩转大模型只能“眼馋”?现在,Spring AI Alibaba + Jmanus 让你告别语言鄙视链:一个 Starter、两行配置、30 分钟,就能把通义千问、文生图、RAG、智能体统统装进 Spring Boot;@ToolMethod 注解一贴,大模型立刻会“调”你的本地服务、数据库、MQ。不用换语言、不用写 Python,一杯咖啡的功夫,让你的 Java 应用开口说话、动手干活!

2025-07-22 17:41:47 1403

原创 MySQL 锁机制全解析:从表锁到间隙锁,谁都能看懂的知识!

锁是数据库管理系统(DBMS)中用于控制并发访问的一种机制。它的主要目的是确保数据的一致性和完整性,同时允许多个用户或事务同时访问数据库资源。锁的粒度越大,系统的并发性能越低;粒度越小,系统的并发性能越高,但实现复杂度也会增加。

2025-04-09 22:11:38 1102

原创 解决缓存穿透的布隆过滤器与布谷鸟过滤器:谁更适合你的应用场景?

用于解决缓存穿透,缓存穿透是指查询一个一定不存在的数据,由于存储层查不到数据因此不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常都会用布隆过滤器来解决它。

2025-04-09 21:50:14 1298

原创 vue生命周期、钩子以及跨域问题简介

Vue 的生命周期和钩子允许开发者在不同的阶段执行特定的逻辑,从而更好地控制应用的行为。理解这些钩子的触发时机和用途,可以帮助你编写更高效和可靠的 Vue 应用。跨域问题是浏览器为了安全而施加的限制,但它也给开发者带来了一些挑战。通过理解跨域问题的本质和解决方法,可以更好地设计和开发跨域相关的功能。

2025-04-01 17:50:30 1388

原创 java多并发问题与解决办法以及为什么不能在多线程环境中使用非线程安全的集合?

      在Java并发编程中,多线程和并发问题是非常常见的。以下是一些典型的并发问题及其示例代码,帮助你理解这些问题是如何发生的以及如何解决。

2025-04-01 17:35:24 1097

原创 uniapp小程序实现自定义导航栏

     在uniapp中,导航栏一般会随着登录角色的权限动态展示不同的数量或者内容,这样的话在pages.json中定义的底部导航栏功能就不能够支持这个功能了,所以我们要做一个自定义的底部导航栏,根据不同的需求动态展示不同的底部导航栏。

2025-03-29 22:23:31 2114

原创 Git:Java 项目团队的开发利器

Git 是一个功能强大的版本控制系统,对于 Java 开发者来说,掌握 Git 是提升开发效率和团队协作能力的关键。通过本文的介绍,你已经了解了 Git 的基本概念、安装方式、使用方法以及在前端和后端开发中的应用。希望你能够将这些知识应用到实际开发中,成为一名 Git 高手。

2025-03-29 22:06:35 1497

原创 uniapp从 vue2 项目迁移到 vue3流程

以下是必须为迁移到 vue3 进行调整的要点,以便 vue2 项目可以在 vue3 上正常运行。

2025-03-23 22:16:32 3422

原创 Web server failed to start. Port 48080 was already in use.解决端口被占用问题

当IDEA(IntelliJ IDEA)提示端口被占用时,比如8080端口,你可以通过命令行工具来查询哪个进程占用了该端口,并根据需要终止该进程。

2025-03-23 21:45:16 1067 1

原创 Java的未来:竞争压力与趋势变革下的生存法则

尽管全球Java岗位需求总量仍在增长,但企业招聘标准已发生深刻变化。传统CRUD开发岗位逐渐被自动化工具替代,而对**全栈能力、云原生经验、安全合规设计**的要求显著提升。例如,金融领域企业要求开发者不仅精通Spring框架,还需掌握Kotlin协程、Quarkus云原生框架,并具备数据隐私保护方案设计能力。这种转变导致初级开发者求职难度增加,一线城市人均面邀数较2020年下降40%。

2025-03-07 17:00:48 2516

原创 Java在小米SU7 Ultra汽车中的技术赋能

在智能电动汽车领域,小米SU7 Ultra的发布无疑掀起了新一轮技术浪潮。这款集性能、豪华与智能于一身的车型,不仅以1.98秒破百的加速能力刷新了量产车纪录,更以全场景智能驾驶(Xiaomi HAD)和深度生态互联功能重新定义了用户体验。而在这背后,**Java作为一门成熟且灵活的语言,或许正悄然支撑着多个核心模块的运行**。本文将从技术视角解析Java在SU7 Ultra中的潜在贡献。

2025-03-07 15:13:42 2953

原创 一分钟深挖@Value注解和@ConfigurationProperities注解的区别

    使用Spring boot全局配置文件配置属性的时候,如果配置的是spring boot内置的属性,那么Springboot会自动扫描并读取配置文件中的属性值并覆盖原有默认的属性。如果配置的文件是用户自定义的属性,可以通过java代码去读取该配置属性,并且把属性绑定到bean。在Springboot项目中可以通过@Value、Enviroment对象和@ConfigurationProperities注解对配置文件进行绑定。

2025-02-02 21:44:58 1362

原创 HBuilder快捷键大全

掌握这些快捷键,不仅能让你的编程效率大幅提升,还能让你的代码更加规范、美观。快来试试这些快捷键,让它们成为你编程路上的得力助手吧!

2024-12-23 18:25:21 1055

原创 IntelliJ IDEA 快捷键大全:提升开发效率的利器

熟练掌握IntelliJ IDEA的快捷键,是提升开发效率的关键。通过本文的介绍,相信你已经对Idea中的常用快捷键有了更深入的了解。当然,这些快捷键只是Idea中的一部分,Idea还支持自定义快捷键,你可以根据自己的使用习惯进行调整。希望本文能够帮助你成为开发界的“快捷键大师”,让你的工作更加高效和愉快!

2024-12-23 17:57:57 1382

原创 PO、VO、DAO、BO、DTO、POJO 你能分清吗?

这次我们聊个技术圈里的经典灵魂拷问:“PO、VO、DAO、BO、DTO、POJO 你能分清吗?”别急着点头或者摇头,就算是写过不少代码的老程序员,也有时候会被这些概念绕晕。咱们今天就从程序员的视角,剖析一下这些术语,顺便给点生动的小例子,让这个话题不再是看得懂却说不清的尴尬存在。

2024-12-11 19:48:12 2179

原创 JAVA秋招面试题精选-第一天总结

欢迎来到我的“面试”专栏!在这里,我精心记录并分享各类面试中的高频问题及深度解析。无论你是即将步入职场的应届生,还是寻求跳槽晋升的职场人,都能在这里找到宝贵的面试经验和答题技巧。从编程基础到算法难题,从项目管理到行业趋势,每一篇文章都力求让你在面试中更加游刃有余。关注我,让我们一起在面试之路上步步为赢,迈向职业生涯的新高峰!

2024-12-08 15:33:23 1176

原创 数据库设计三大范式?一篇文章让你的数据库变得规范化

数据库规范化设计是确保数据库结构高效、准确和一致性的重要过程。它通过减少数据冗余、避免更新异常、插入异常和删除异常,提高数据的完整性和可靠性。规范化设计将数据组织成更小的、更专业化的表,这些表通过关系相互连接,使得数据查询和操作更加灵活和高效。 此外,它还简化了数据库的维护工作,降低了数据冗余带来的存储和管理成本。因此,数据库规范化设计是构建高性能、可扩展数据库系统的关键。

2024-12-05 20:53:29 1804

原创 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘springSecurityFilter

从字面其实就很好理解,NoSuchBeanDefinitionException 就是没有找到指定 Bean 的 Definition。

2024-12-03 19:38:18 1527

原创 macOS 版本对应的 Xcode 版本,以及 Xcode 历史版本下载

注:当前页面的所有Xcode下载链接均为苹果官方下载链接,点击将直接转至苹果官网下载。

2024-11-25 19:43:34 10502

原创 iOS构建版本以及Hbuilder打iOS的ipa包全流程

本篇文章详细的介绍了使用Hbuilder进行打包,以及使用macOS 版 Transporter进行构建版本,列举出了可能会发生的问题以及详细的解决方法。

2024-11-22 20:12:44 4496

原创 “iOS profile文件与私钥证书文件不匹配”总结打ipa包出现的问题

在上线ios平台的时候,在Hbuilder中打包遇见了问题,生成ipa文件时候,一直提示“IOS profile文件与私钥证书文件不匹配”,但获取方法完全按网上所述且有专业ios开发人员获取,百分比没问题,但仍旧一直提示。

2024-11-22 19:45:44 4024

原创 应用商店双弹窗“APP在向用户申请权限时未同步告知用户申请此权限的理由”驳回uni-app应用上线的解决方法

在uniapp上线应用商店时,遇到了一个被驳回的问题,上面显示的是:APP在向用户申请权限时未同步告知用户申请此权限的理由。下面记录一下我解决的方法。

2024-11-22 18:53:55 2997 4

原创 应用商店 App上线必备:从零到一的APP上线全攻略

目录一、创建开发者账号二、检查资料并添加你的应用三、填写应用上架信息以及可能遇到的问题应用信息部分推广信息部分备案信息以及备案方式 应用资质信息部分 联系人信息部分最后祝君的应用成功上线。上线应用商店的途径有很多,上线的流程也很繁琐,涉及到注册账号、填写信息、申请证书、应用备案等步骤,本文将详细的逐步介绍如何在手机应用商店上线app。本文以vivo应用商店的上线流程为例,文中会说到使用vivo平台的理由。首先进入vivo开放者平台:vivo开放平台,点击登录或者注册。 在页面中填写账号和密码登录开发者平

2024-11-18 22:11:42 3502

原创 深入List集合:ArrayList与LinkedList的底层逻辑与区别

ArrayList是一种高效且灵活的动态数据结构,在多个应用场景中都表现出色。从简单的动态数组存储到复杂的对象集合管理,再到作为方法参数和返回值传递或返回一组数据,ArrayList都能提供高效且直观的解决方案。通过理解ArrayList的工作原理和应用场景,我们可以更好地利用这种数据结构来解决实际问题。

2024-11-16 20:23:17 1908

原创 iOS App上线必备:Apple开发者平台证书申请流程精简指南

iOS证书(.p12)和描述文件(.mobileprovision)申请准备环境: 必需要有苹果开发者账号,并且加入了 “iOS Developer Program” Mac OS 10.9以上系统(如果已经申请p12证书则不需要)

2024-11-15 22:17:42 4889

原创 UML精髓:带你读懂14种核心类型与流程图的绝妙之处

UML(统一建模语言)图是一种用于软件设计和开发的图形化表示方法,它能够帮助开发者清晰地描述和分析系统的结构和行为。在软件设计和开发过程中,UML图被广泛应用于需求分析、系统设计、编码实现、测试等多个阶段。它能够帮助开发者更好地理解系统的需求,规划系统的架构,分析系统的行为,从而确保软件的质量和可维护性。

2024-11-13 20:57:18 3396

原创 HashMap与TreeMap:数据结构界的双生子与独行侠

尽管HashMap和TreeMap在性格和武功上各有千秋,但它们也有着一些共同之处。首先,它们都是Java集合框架中的重要成员,都实现了Map接口,因此具有Map接口的基本功能,如存储键值对、根据键查找值等。其次,它们都能够存储null键和null值(尽管在实际应用中,HashMap对null键和null值的处理更为宽松,而TreeMap则会在某些情况下抛出异常)。最后,它们都是线程不安全的,如果在多线程环境下使用,需要额外的同步措施来保证线程安全。

2024-11-11 20:31:50 1767

原创 Vue-Router解析:揭秘路由的组成与使用技巧

Vue就属于单页面应用,所谓的路由,就是根据浏览器路径不同,用不同的视图组件替换这个页面内容,即展示不同的视图组件。什么意思呢?在整个Vue应用当中,实际上只有一个页面,浏览器中的多个页面其实是假象,而所谓的页面切换,其实切换的是单页面当中不同的视图组件。就类似于黑板只有一块而上不同的课要写不同的内容是一样的,而替换视图组件的过程就是通过路由完成的。

2024-11-07 11:39:35 1398

原创 Apache POI:Java操作Microsoft Office文件的利器

Apache POI(Poor Obfuscation Implementation)是Apache软件基金会的一个开放源码函式库,主要用于Java程序对Microsoft Office格式档案进行读写操作。它支持多种Microsoft Office格式,包括Excel(XLS和XLSX)、Word(DOC和DOCX)、PowerPoint(PPT)等。通过POI,Java开发者无需依赖Microsoft Office的本地安装,即可在Java应用程序中处理这些文件格式。

2024-11-02 15:47:17 1068

原创 SQL速成笔记

SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系数据库的标准化编程语言。SQL 被广泛用于数据库系统中(如 MySQL、PostgreSQL、Oracle、SQL Server),它允许用户执行数据查询、插入、更新和删除等操作,以及定义、修改和控制数据库中的数据结构和访问权限,是数据库管理和数据分析的核心工具。

2024-11-02 11:57:53 1196

原创 WebSocket详细介绍以及与HTTP的区别和归纳

在Java项目中使用WebSocket,就像是在两个朋友(客户端和服务器)之间搭建了一条高速通道,让他们可以随时随地进行双向沟通,而不需要再通过传统的“你问我答”的方式(即HTTP的请求-响应模式)。下面,我将通过一些比喻和例子来介绍WebSocket与HTTP的区别以及如何在Java项目中使用WebSocket。

2024-10-26 18:52:49 3029

原创 最实用的Nginx配置笔记

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

2024-10-22 19:02:23 736

uni-app双弹窗插件

uni-app双弹窗插件

2024-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除