azheng222
码龄7年
关注
提问 私信
  • 博客:49,166
    社区:1
    49,167
    总访问量
  • 20
    原创
  • 45,048
    排名
  • 37
    粉丝
  • 0
    铁粉

个人简介:个人博客地址 https://azhengzj.gitee.io/

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2018-04-06
博客简介:

qq_41959009的博客

查看详细资料
  • 原力等级
    当前等级
    1
    当前总分
    34
    当月
    21
个人成就
  • 获得92次点赞
  • 内容获得10次评论
  • 获得98次收藏
  • 代码片获得230次分享
创作历程
  • 4篇
    2025年
  • 1篇
    2024年
  • 1篇
    2021年
  • 6篇
    2020年
  • 9篇
    2019年
成就勋章
TA的专栏
  • jpa
    2篇
  • redis
    1篇
  • spring-boot
    3篇
  • 笔记
    1篇
  • 并发
    1篇
  • Gradle
  • spring-cloud
    1篇
  • java
    5篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

使用LiteFlow实现阻塞审批工作流

在 LiteFlow 中实现阻塞的审批工作流,你可以使用异步处理与同步逻辑结合,实现节点的等待。
原创
发布博客 2025.03.13 ·
332 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

构建自己的AI客服【根据用户输入生成EL表达式】

要实现一个基于对话形式的AI客服系统,该系统能够提示用户输入必要的信息,并根据用户的输入生成相应的EL(Expression Language)表达式编排规则,您可以按照以下步骤进行设计和开发。本文将涵盖系统架构设计、关键技术选型、具体实现步骤以及一些扩展功能的建议。使用Spring Initializr创建一个新的Spring Boot项目,包含以下依赖:如果需要持久化存储用户会话或EL表达式规则,配置数据库连接。示例:2.1.3. 创建实体类(可选)如果需要存储用户会话或EL表达式规则,创建相应的实
原创
发布博客 2025.03.05 ·
1095 阅读 ·
14 点赞 ·
0 评论 ·
28 收藏

工作流引擎Camunda与LiteFlow核心组件对比

LiteFlow 是一款轻量级的流程编排框架,专注于代码驱动的流程定义和执行。作为一个重量级的流程引擎,它不仅支持工作流的编排,还支持事件驱动的流程执行、业务规则管理和流程监控。它的设计符合 BPMN(业务流程建模与标注)、CMMN(案例管理建模与标注)和 DMN(决策建模与标注)等国际标准。LiteFlow 的核心聚焦在“轻量级编排”,适合那些对流程编排有一定需求,但不需要复杂功能和企业级监控的场景,例如微服务内部的业务逻辑编排。详细的介绍,包括它们的核心组件和用途,以便您对两者有更深入的了解。
原创
发布博客 2025.01.22 ·
869 阅读 ·
20 点赞 ·
0 评论 ·
5 收藏

工作流引擎camunda7和liteflow的功能异同对比,性能对比,使用场景对比

Camunda 7 和 LiteFlow 是两个不同的工作流引擎,虽然它们都可以用来实现流程编排和管理,但它们的设计理念、功能特点和适用场景存在较大的差异。以下是对它们的功能和性能的详细对比:选择 Camunda 7 的场景:选择 LiteFlow 的场景:如果您是一个小型团队或对性能和快速开发要求较高,LiteFlow 是一个很好的选择。而对于企业级复杂业务场景,Camunda 7 则更为适合。希望这些对比能帮助您做出合适的选择!
原创
发布博客 2025.01.22 ·
1046 阅读 ·
23 点赞 ·
0 评论 ·
14 收藏

WebSocket消息帧的组成结构

WebSocket消息帧是WebSocket协议中的一个基本单位,它定义了数据在客户端和服务器之间传递的格式。每个数据帧包含了不同类型的数据和各种控制信息。
原创
发布博客 2024.11.03 ·
703 阅读 ·
5 点赞 ·
1 评论 ·
9 收藏

【转载】Spring Boot 2.0 教程 | AOP 切面统一打印请求日志

本节中,您将学习如何在 Spring Boot 2.0 中使用 AOP 切面统一处理请求日志,打印进出参相关参数。一、先看看日志输出效果Spring Boot AOP 打印日志可以看到,每个对于每个请求,开始与结束一目了然,并且打印了以下参数:URL: 请求接口地址;HTTP Method: 请求的方法,是 POST, GET, 还是 DELETE 等;Class Method: 对应 Controller 的全路径以及调用的哪个方法;IP: 请求 IP 地址;Request Args:
转载
发布博客 2021.08.02 ·
259 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

redis分布式锁的实现和原理

1、简单版本命令:setnx key value对应RedisTemplate方法:setIfAbsent在指定的 key 不存在时,为 key 设置指定的值String lockKey = "key";//拿锁boolean result = stringRedisTemplate.opsForValue().setIfAbsent(lockKey,"value");if(!r...
原创
发布博客 2020.03.28 ·
335 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

spring-boot-starter 新增 jar 包的配置类加载方式

springboot相较于springMVC的一大优点就是基于约定优于配置的理念简化配置,并且提供给我们开箱即用的一些组件,例如spring-starter依赖。它内部引入相关组件的jar包,并且封装了一些默认配置。让我们在开发时能够专注于业务而不必过多的关注框架的配置。spring boot starter 加载配置类有两种方式。1、 引入jar包后全自动加载配置类2、 通过@Enable...
原创
发布博客 2020.02.14 ·
1349 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏

java jar启动参数说明【双横杠和单横杠区别】

启动参数说明:双横杠【–】是springboot中特定的传参用法,不是java自带的,只有spring boot可以解析。对应解析到 java [-options] -jar jarfile [args…] 中的args数组参数,最终由SimpleCommandLineArgsParser类完成参数的解析。单横杠【-】是指定 java 虚拟机的启动参数...
原创
发布博客 2020.01.14 ·
1496 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

IDEA Gradle Wrapper 项目打包控制台输出中文乱码解决方案

问题描述IDEA Gradle 输出日志中文乱码,如图解决方案IDEA 2019 之前版本:File | Settings | Build, Execution, Deployment | Build Tools | GradleGradle VM options 添加以下参数:-Dfile.encoding=utf-8IDEA 2019 版本:IDEA 2019.3 新版没有上面...
原创
发布博客 2020.01.14 ·
1195 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

JAR包启动 控制台和文件 中文乱码解决

启动参数加上编码方式即可java -Dfile.encoding=UTF-8 -jar app.jar --server.port=9090
原创
发布博客 2020.01.14 ·
2664 阅读 ·
4 点赞 ·
2 评论 ·
4 收藏

spring-cloud-config feign 设置 header 请求头

最近在使用 feign-clien 的时候 需要设置请求头,遇到一些小问题,于是就度娘了一下说是按照下面方式设置:public interface XXService { @GetMapping("/xx") @Headers({"Content-Type: application/json","Accept: application/json"}) String s...
原创
发布博客 2020.01.01 ·
1974 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

JAVA静态加载顺序

1、父类优于子类2、静态优于非静态3、字段优于方法4、代码块优于构造方法5、构造方法优于普通方法父静态字段 --> 父静态代码块 --> 父静态方法子静态字段 --> 子静态代码块 --> 子静态方法父非静态字段 --> 父非静态代码块 --> 父构造函数 --> 父普通方法子非静态字段 --> 子非静...
原创
发布博客 2019.12.28 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

FastJson下划线转驼峰

parse(字符串转对象)的时候 设置下划线转驼峰ParserConfig.getGlobalInstance().propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;JSON.parseObject(str, RespOrderDTO.class);toString(对象转字符串)的时候,设置下划线转驼峰Serialize...
原创
发布博客 2019.12.27 ·
23229 阅读 ·
15 点赞 ·
4 评论 ·
15 收藏

spring-boot json(jackson)属性命名策略、命名方式

单个字段命名单个字段可以采用@JsonProperty这个注解自定义@JsonProperty(“user_name”)单个类的命名策略设置单个类设置在需要的实体上添加@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)注解整个项目命名策略的设置通过properties设置(yml格式)spring:  jackso...
原创
发布博客 2019.12.22 ·
3706 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

手写HashMap

JAVA1.7 和 JAVA1.8中HashMap的主要区别1、数据结构不一样JAVA1.7 数组、链表JAVA1.8 数组、链表、红黑树2、put方式不一样在JAVA1.7的时候是直接加入到链头,比较简单粗暴在JAVA1.8中因为加入了红黑树,每一次PUT的时候必须要统计链表的长度,所以遍历后放到链尾。如果长度超过8,就要放到红黑树里面。所以JAVA1.7的put效率略高于1....
原创
发布博客 2019.11.29 ·
135 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

手写线程同步锁 ,CAS无锁算法

import lombok.AccessLevel;import lombok.Getter;import lombok.Setter;import lombok.extern.slf4j.Slf4j;import sun.misc.Unsafe;import java.lang.reflect.Field;import java.util.concurrent.Concurrent...
原创
发布博客 2019.11.21 ·
296 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

spring-data-jpa specification 复杂查询之 zuji-jpa

Zuji-JPA官方文档Zuji-JPA 是一个不用写sql的 Spring Data JPA 增强库,在 Spring Data JPA 的基础上简化开发,目的是让开发者不再去书写冗长的SQL,支持 入参定义式零逻辑 和 极简Java动态链式 两种方式来代替SQL。初衷由于spring data jpa 在复杂查询这块的短板,我基于specification 功能 开发出了为简化开发...
原创
发布博客 2019.10.26 ·
1166 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

spring-data-jpa Query by Example 动态条件查询

spring-data-jpa Query by Example 动态条件查询Example可以简化很多代码,但是功能有点弱,主要是对字符串匹配支持的比较好,对于非字符串的属性,只支持精确匹配,Example不支持范围查询(大于、小于、between等操作),这个就大大降低了Example的实用性。示例代码ExampleMatcher matcher = ExampleMatcher.mat...
原创
发布博客 2019.09.27 ·
1853 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

spring-data-jpa 实用特性和用法介绍

返回所有给定属性和值的记录Returns all having the given attribute.@Query("select p from Product p where p.attributes[?1] = ?2")List<Product> findByAttributeAndValue(String attribute, String value);List&l...
原创
发布博客 2019.09.25 ·
1778 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多