结构型模式 之前创建型模式介绍了创建对象的一些设计模式,本次介绍的结构型模式旨在通过改变代码结构来达到解耦的目的,使得我们的代码容易维护和扩展。 代理模式 第一个要介绍的代理模式是最常使用的模式之一了,用一个代理来隐藏具体实现类的实现细节,通常还用于在真实的实现的前后添加一部分逻辑。 既然说是 代理…
在构建微服务应用时,您可能会遇到需要批量处理传入消息的场景,例如创建ETL记录或批量更新数据库等。Spring Integration正是为此类需求量身定制的解决方案。 Spring…
JSON是我们编写API时候用于数据传递的常用格式,那么你是否知道JSON Schema呢? 在数据交换领域,JSON Schema 以其强大的标准化能力,为定义和规范 JSON 数据的结构与规则提供了有力支持。通过一系列精心设计的关键字,JSON Schema 能够详尽地描述数据的各项属性。然而,仅凭 JSON Schema 本身,尚不足以验证 JSON…
我坚信Jib(Java Image Builder)即将引领行业变革。然而,是什么赋予了我对其潜力的坚定信心? 传统容器化方法往往依赖于Docker守护进程,这无疑增加了操作的复杂性。相比之下,Jib无需Docker守护进程即可运行,且无需Dockerfile,从而简化了镜像构建流程。这不仅节省了时间,还降低了人为错误的风险。…
Guava字符串操作 在Java开发的道路上,我们经常会面临各种各样的字符串处理任务,从简单的判空到复杂的拆分和连接操作。为了简化这些常见但有时繁琐的任务,Google推出了一款强大的Java库——Guava。Guava不仅为我们提供了丰富的集合工具,还包括了许多方便而高效的字符串处理工具。…
在实际编码中,经常会遇到一个方法需要返回多个值的情况,你编写一个方法,需要同时返回某个操作的结果和一些相关的附加信息。使用传统的方式,你可能需要创建一个包含这些信息的自定义类或者使用集合(如 Map )来存储这些值。然而,这往往使得代码变得臃肿,而且对于调用方来说,理解和提取这些值可能会显得有些繁琐。 这时使用…
设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属 Gang of Four ( GoF ) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。 有一些重要的设计原则在开篇需要分享下,这些原则将贯通全文:…
使用 spring-data-jpa 与 JPA 一起工作是提高您作为开发人员生产力的绝佳方式。无论您的对象有多复杂,只要它被正确建模,它就会被持久化,您可以方便的进行数据查询和操作。 但是有一个缺点是读取和写入这些对象可能会变得非常慢。我们在之前的一篇文章中讨论了如何使用 JPA 进行快速写入,其中我们讨论了批量插入,但我们没有过多关注我们的 JPA…
在现代应用程序中,后台处理对于处理发送电子邮件、处理文件、生成报告等任务至关重要。Spring Boot 提供了多种机制来高效地实现后台任务。本文探讨了在 Spring Boot 中处理后台处理的各种方法,包括异步方法、任务调度和使用消息系统。 1. 异步方法 Spring Boot 允许你使用 `@Async`…