自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 IDEA 中一些好用的骚操作+快捷键

本人实践一段时间后觉得日常开发中实用价值较高的快捷键\操作;在此记录一下增加一下记忆。

2025-06-09 21:34:52 326

原创 Controller层代码瘦身70%!5招打通任督二脉,效率飙升

原来的代码中可以看到有几个问题抛出的异常不够具体,只是简单地把错误信息放到了 Exception 中抛出异常后,Controller 不能具体地根据异常做出反馈虽然做了参数自动校验,但是异常返回结构和正常返回结构不一致。

2025-06-08 09:21:22 713

原创 实战出真知!SpringBoot 接口级防护:限流、重放攻击与签名机制全解析

在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!可以作为统一接口安全网关的重要组成部分,也可独立部署在 Spring Boot 服务中。本文将基于 Spring Boot 框架,手把手实现一套可落地的。接下来我们通过完整代码实现接口签名机制,确保项目中可直接落地。等核心能力,适用于 B 端开放接口、系统对接场景。适用于中台接口、对接系统、开放平台等场景。

2025-06-07 11:07:02 125

原创 Spring事务失效的8个经典大坑

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号导致Spring事务失效的8个使用问题。。。

2025-06-05 22:48:39 932

原创 掌握 Spring 框架这 10 个扩展点,开发效率直接翻倍!

与 Spring 拦截器相比,Spring MVC 拦截器可以在内部获取和等 Web 对象实例。preHandle:在目标方法执行前执行。postHandle:在目标方法执行后执行。:在请求完成时执行。为了方便起见,在一般情况下,我们通常使用接口的实现类。如果存在权限认证、日志记录和统计等场景,可以使用此拦截器。第一步,通过继承@Overridereturntrue;returntrue;第二步,在 Spring 容器中注册此拦截器。

2025-05-27 21:35:19 774

原创 Java 中 JSON 字段不固定怎么搞序列化?用好这两个注解就够了!

特别适合那些字段不固定、可能需要动态扩展的 JSON 数据结构,比如配置项、参数列表、插件信息等。woniuxgg,在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!

2025-05-24 14:39:47 511

原创 SpringBoot 公共字段自动填充的6种神技,开发效率飙升!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点程序员蜗牛g大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号在开发外卖系统订单模块时,我发现每个实体类都包含create_time、update_by等重复字段。手动维护这些字段不仅效率低下,还容易出错。本文将分享一套经过生产验证的自动化方案,涵盖MyBatis-Plus、AOP、JWT等六种核心策略,助你彻底摆脱公共字段维护的烦恼。痛点总结:代码重复率高(每个Service方法都要设置)维护成本高(字段变更需修改多处

2025-05-22 19:50:52 318

原创 Java Stream 高效开发!16 个案例,让你秒速起飞!

在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!我们会通过16个案例详细的讲解有关Stream函数的应用。将每一个元素进行平方操作,最后返回一个新的集合。点击上方“程序员蜗牛g”,选择“设为星标”大厂程序员一枚 跟蜗牛一起 每天进步一点点。跟蜗牛哥一起,每天进步一点点。操作,如下计算1亿个数的求和。

2025-05-14 22:27:31 260

原创 卷王必备!SpringBoot极简审批流:1行代码搞定请假系统,摸鱼时间翻倍

表示Activiti工作流引擎的入口,用于获取各种管理API操作的对象。用于管理流程定义的API,包括流程的部署和删除等操作。用于管理流程实例的API,包括启动、暂停和删除流程实例等操作。用于管理任务的API,包括创建、完成和查询任务等操作。用于查询历史记录的API,包括查询已完成的任务、流程实例和变量等信息。这5个Service我们已经很熟悉了,现在跟大家介绍这部分API,大家应该更容易理解了。其中我们用来获取各类Service类,用来部署流程图,用来创建流程图实例、用来查询任务和完成任务;

2025-05-13 20:27:25 729

原创 图解线程池ThreadPoolExecutor、定时调度 使用场景和原理

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号了解并合理使用线程池,是一个开发人员必修的基本功。Exchanger的使用和原理。

2025-05-12 20:53:47 967

原创 Spring Batch零基础速成指南,效率飙升500%!

Data// 公共字段// 银行端数据// 内部系统数据// 对账结果MATCHED, // 数据一致AMOUNT_DIFF, // 金额不一致STATUS_DIFF, // 状态不一致ONLY_IN_BANK, // 银行单边账ONLY_IN_SYSTEM // 系统单边账-- 常用监控SQL示例-- 最近5次作业执行情况。

2025-05-11 21:49:20 687

原创 Spring 6.0+Boot 3.0:秒级启动、万级并发的开发新姿势

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号。

2025-05-09 10:31:09 786

原创 Spring AI 身份证识别,图片分析真牛啊!!

Spring AI 的 Message API(消息接口) 为多模态大型语言模型(LLMs)提供了所有必要的抽象层支持,开发者可通过该接口实现跨模态数据的无缝整合与交互,无需底层适配即可构建支持文本、图像、音频等多输入源的AI应用。,在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!以下示例将演示通过上传汽车图片方式分析图片,并由系统以结构化 JSON 格式返回分析结果(例如各颜色,总数)。接下来,我们将通过实例演示有关图片识别的实例。

2025-05-07 21:27:18 228

原创 别等漏洞爆发!为什么前后端都必须进行数据校验?

前端和后端各自的数据完整性校验是相辅相成的。前端校验可以提供即时反馈和优化用户体验,减轻后端服务器压力;后端校验是最终的安全防线,确保数据的完整性和一致性。通过前后端的数据完整性校验机制的结合,可以提供更可靠和安全的应用程序。woniuxgg,在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!

2025-05-06 21:38:10 730

原创 SpringBoot+责任链模式:优雅的实现复杂接口的解耦和动态编排!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号。

2025-04-29 21:56:24 423

原创 SpringBoot实现电商主从数据库同步!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号通过引入主从数据库同步系统,可以显著提升电商平台的性能和稳定性,同时保证数据的一致性和安全性。Druid连接池也提供了强大的监控和安全防护功能,使得整个系统更加健壮和可靠。

2025-04-27 21:11:19 199

原创 手把手教你用Java操控PDF,ITextPdf生成+预览一站式解决方案

通过这次的需求学习到了 JAVA 里生成操作 pdf 文件的方法。先制作 PDF 表格模板,设置文字域,可以处理掉导出数据中的固定部分数据 针对表格类的数据,长度不固定,需要通过生成 PDF 表格来进行处理。woniuxgg,在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!

2025-04-22 21:34:31 680

原创 开发效率提升3倍!动态脚本引擎QLExpress,实现各种复杂的业务规则

在QLExpress中,可以通过function关键字来定义函数。/*** @description: 通过 function 关键字来定义函数**/try {\n" +"};\n" +\n" +// 执行脚本// 输出脚本执行结果// 输出函数调用过程中的参数和返回值在QLExpress中,宏定义(macro)允许将一个表达式片段命名为宏,并在其他地方引用这个宏。

2025-04-21 22:20:46 910

原创 3步搞定任务系统改造:规则引擎实战指南,开发效率提升80%!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号笔者在去年接手了公司的活动中台,其中【任务】,是活动当中必不可缺的玩法之一。相信大家都在各种各样的互联网活动中体验过【任务】。比如:打车软件去完成一笔订单可以给用户发一个奖品;如用户去申请白条的额度,就能给用户发放京豆;从技术思维上,以上的流程,可以抽象成,用户完成某个动作,就给用户发放对应的奖品。

2025-04-20 09:25:15 691

原创 分布式锁+事务=灾难?不要把锁加在事务内!!!

在使用分布式锁的时候,习惯性的尽量缩小同步代码块的范围但是如果数据库隔离级别是可重复读,这种情况下不要把分布式锁加在注解的事务方法内部。线程1开启事务A后获取分布式锁,执行业务代码后在事务内释放了分布式锁。这时候线程1开启了事务B获取到了线程1释放的分布式锁,执行查询操作时查到的数据就可能出现问题。因为此时事务A是在事务内释放了锁,事务A本身还没有完成提交。woniuxgg,在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!

2025-04-19 10:09:21 456

原创 SpringBoot 3 接口防刷的 8 种高效解决方案

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点程序员蜗牛g大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号在当今互联网应用场景中,接口被恶意刷流量或攻击已成常态。本文将带你深入理解 SpringBoot 3 中 接口防刷的 8 大实战解决方案,助你轻松构建稳定、安全的微服务系统。1. Nginx 级别限流(推荐作为第一道防线)2. 基于拦截器+Redis 实现接口限流3. Google Guava + 本地缓存限流4. Sentinel 接口防刷利器(推荐)阿里开源的

2025-04-13 10:19:37 824

原创 几行代码搞定请求合并,竟让接口效率翻倍?

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号请求合并到底有什么意义呢?我们来看下图假设我们3个用户(用户id分别是1、2、3),现在他们都要查询自己的基本信息,请求到服务器,服务器端请求数据库,发出3次请求。这里把数据库换成被调用的远程服务,也是同样的道理。

2025-04-10 20:37:08 301

原创 性能炸裂!Spring Boot 3.4 + ThreadPoolTaskExecutor 批量插入百万数据!

在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!,使数据插入任务并发执行,提高数据库写入吞吐量。点击上方“程序员蜗牛g”,选择“设为星标”大厂程序员一枚 跟蜗牛一起 每天进步一点点。数据完整性检查无误,无重复数据。跟蜗牛哥一起,每天进步一点点。

2025-04-06 13:52:22 114

原创 实现一百万条数据的状态秒级更新!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号为了提高订单状态更新的效率和系统的响应能力,我们决定采用分布式任务调度实现高效的订单状态批量更新。

2025-04-02 20:59:31 325

原创 适配器模式+Nacos动态配置双杀技,轻松实现 OSS 无感切换!

通过Nacos的动态配置读取来得到当前的此时如果想再加入一个新的OSS对象(得到包等,我们无法进行修改),只需新增一个xxadapter适配器类且在@Bean注解的方法中加一个else即可。注意:这里直接使用new的方式创建实现类(实现类也不需要使用@Service注解),而不是先把所有的实现类通过注解定义出来,再直接返回对象,这样如果新增一个OSS的话,不光要加else,还需再把实现类通过直接定义出来。

2025-03-31 21:32:07 933

原创 SpringBoot + POI-TL 操作 Word,快速生成报表,短小精悍!

poi-tl是一个免费开源的Java类库,是基于Apache POI的模板引擎,纯Java组件,跨平台,代码短小精悍,通过插件机制使其具有高度扩展性。因此在使用的时候需要实现设置好模板,就像Freemarker一样,但是比其简单,也易操作。

2025-03-26 21:43:52 533

原创 CompletableFuture和“等外卖“式编程说再见!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号今天我们就来聊聊,这个让异步编程从"青铜"变"王者"的神器!使用场景:这些时刻请呼叫它。

2025-03-24 21:03:39 390

原创 颠覆认知!这些你可能从未听说过,但会瞬间爱上的 Java Stream 黑魔法!

今天,我们将带你探索 Java Stream API 中一些极具魔力的用法,让你的代码更简洁、更高效,同时避免常见的陷阱。,在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!赶快在你的项目中实践一下,让你的代码更加简洁高效吧!这种方式适用于并行计算、数据统计等场景,避免了额外的。,这种方式更优雅、简洁,Java 直接帮你搞定。后再进行额外处理,让数据转换更顺滑!

2025-03-23 21:47:01 324

原创 写代码有这20个好习惯,可以减少80%非业务的bug!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号今天,我精心为大家整理了写代码的16个好习惯,这些习惯个个经典实用,倘若你能将它们融入日常的编程工作中,相信大部分非业务相关的Bug都能被我们轻松规避。

2025-03-18 21:05:49 588

原创 SpringBoot 项目基于责任链模式实现复杂接口的解耦和动态编排

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号项目中有一个 OpenApi 接口提供给客户(上游系统)调用。这个接口中包含十几个功能点,比如:入参校验、系统配置校验、基本数据入库、核心数据入库、发送给消息中心、发送给 MQ.....不同的客户对这个接口的要求也不同,有些功能不需要,有些需要添加特定功能。

2025-03-17 20:28:37 329

原创 SpringBoot 使用 TraceId 日志链路追踪!

用途:每一次链路,线程维度,添加最终的链路 ID traceId.MDC(Mapped Diagnostic Context) 诊断上下文映射,是@Slf4j提供的一个支持动态打印日志信息的工具。/*** 日志拦截器*/@Override//可以考虑让客户端传入链路ID,但需保证一定的复杂度唯一性;如果没使用默认UUID自动生成if (!returntrue;@Override// 请求处理完成后,清除MDC中的traceId,以免造成内存泄漏/**

2025-03-13 21:02:25 1063

原创 干掉if..else!Spring Boot+aviator+aop 太丝滑了!

​点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点公众号aviator本来是一个轻量级、高性能的基于JVM的表达式引擎。不过从5.0.0版本开始,aviator升级成为了aviatorScript,成为一个高性能、轻量级寄宿于 JVM (包括 Android 平台)之上的脚本语言。根据官网的介绍,aviator支持的主要特性:支持数字、字符串、正则表达式、布尔值、正则表达式等基本类型,完整支持所有 Java 运算符及优先级等。

2025-03-12 21:17:58 883

原创 一个被忽视的定时任务写法,直接把服务器干穿了!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号今天突然接到了监控平台的电话,顿时有一种不好的预感。果然是我们模块把服务器干崩溃了。

2025-03-10 19:52:04 254

原创 简化Java多线程编程的实用利器!

在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!方法允许开发者创建自定义的线程池,并设置核心线程数和最大线程数。• 该方法避免了因未正确处理中断信号而导致的异常。• 该方法便于开发者获取当前线程的信息并进行调试。• 通过这种方式,可以更好地控制线程资源的分配。• 该方法便于开发者分析线程运行时的状态。• 该方法确保了中断信号的正确处理。方法可以安全地中断指定的线程。方法返回指定线程的堆栈信息。方法返回当前线程的实例。

2025-03-06 20:42:28 396

原创 使用第三方工具监控 SpringBoot 接口超时,简单几步搞定!

使用或,适合小型项目。选择或SkyWalking,功能全面且扩展性强。直接采用Datadog或New Relic,节省运维成本。根据团队技术栈和项目规模选择工具,结合邮件通知配置(如SMTP或Webhook),即可高效实现接口超时监控与告警。最后说一句(求关注!别白嫖!woniuxgg,在公众号中回复:笔记 就可以获得蜗牛为你精心准备的java实战语雀笔记,回复面试、开发手册、有超赞的粉丝福利!

2025-03-05 19:53:57 793

原创 干掉复杂代码! Spring Boot + CQRS 黄金组合,太优雅了!

当与 Spring 的生态系统结合时,它可以提供强大的工具包来构建健壮、可扩展和可维护的系统。虽然 CQRS 专注于分离命令和查询职责,但事件溯源可确保应用程序状态的每次更改都被捕获在事件对象中,并按照它们应用于同一聚合的顺序存储。虽然 CQRS 提供了隔离机制,但可以使用事件源来简化命令和查询之间状态的维护。命令端产生的事件可以推送到Kafka主题中,查询端可以使用这些事件来更新自己的数据存储。将使用 CQRS 和事件源的系统与不遵循这些模式的外部系统集成可能具有挑战性,特别是在数据同步和事务管理方面。

2025-03-04 21:49:09 492

原创 项目自从用了接口请求合并,效率直接加倍!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号请求合并到底有什么意义呢?我们来看下图。img假设我们3个用户(用户id分别是1、2、3),现在他们都要查询自己的基本信息,请求到服务器,服务器端请求数据库,发出3次请求。我们都知道数据库连接资源是相当宝贵的,那么我们怎么尽可能节省连接资源呢?这里把数据库换成被调用的远程服务,也是同样的道理。我们改变下思路,如下图所示。img。

2025-03-02 10:47:35 412 1

原创 实现一个商品优惠券系统!用它就可以了!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号。

2025-02-26 20:06:57 369 1

原创 Spring Boot 集成规则引擎 URule,太强了!

规则引擎其实是一种组件,它可以嵌入到程序当中。将程序复杂的判断规则从业务代码中剥离出来,使得程序只需要关心自己的业务,而不需要去进行复杂的逻辑判断;简单的理解是规则接受一组输入的数据,通过预定好的规则配置,再输出一组结果。当然,市面上有很多成熟的规则引擎,如:Drools、Aviator、EasyRules等等。但是URule,它可以运行在Windows、Linux、Unix等各种类型的操作系统之上,采用纯浏览器的编辑模式,不需要安装工具,直接在浏览器上编辑规则和测试规则。

2025-02-24 19:29:17 1143

原创 SpringBoot 启动加速:优化与定制化干预技术指南

添加自定义的,可以通过实现接口来完成。添加自定义的/*** @description 添加自定义的PropertySource。使用environment.getPropertySources().addLast(propertySource)方法,可以添加自定义的属性源,从而实现更灵活的配置。*/@Override// 添加自定义的PropertySource// 自定义PropertySource@Override。

2025-02-23 21:13:44 1045

空空如也

空空如也

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

TA关注的人

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