一张图带你看懂 IO 零拷贝技术!

01、背景介绍
相信不少的网友,在很多的博客文章里面,已经见到过零拷贝这个词,会不禁的发出一些疑问,什么是零拷贝?
从字面上我们很容易理解出,零拷贝包含两个…

SpringBoot 整合 jackson 轻松搞定接口数据脱敏

一、简介

实际的业务开发过程中,我们经常需要对用户的隐私数据进行脱敏处理,所谓脱敏处理其实就是将数据进行混淆隐藏,例如下图,将用户的手机号、地址等数据信息,采…

从源码角度3分钟理解SpringBoot的jar可以直接运行的原因和原理

在springboot项目中我们使用maven打包插件将项目打成一个jar之后,然后使用java -jar的命令就可以直接运行jar了,这是什么原理呢?今天来揭…

巧用注解编程,轻松搞定审计日志服务!

01、背景介绍

任何一个软件系统,都不可避免的会碰到【信息安全】这个词,尤其是对于刚入行的新手,比如我,我刚入行的时候,领导让我做一个数据报表导出功能,我就按…

Spring Boot 配置日志输出的正确姿势!

01、背景介绍
对于日志文件,相信大家都并不陌生,通过在关键位置打印相关的日志,有利于快速跟踪和定位软件系统运行中存在的问题。
在之前的 Java 实现日志记…

Spring Boot 实现策略模式的正确姿势!

一、背景介绍

一说起策略设计模式,相比大家都不陌生,在实际的业务开发中,合理的使用设计模式来编程,可以让代码阅读起来层次感更强,同时扩展性也会得到提升!
最近…

神奇的SpringBoot事务钩子函数

在Spring Boot中提供了@Transactional注解来声明一个方法需要在事务环境中运行。当这个方法被调用时,Spring会自动开启一个事务,并在方法…

深入剖析 RabbitMQ

01、关于 RabbitMQ
说到 RabbitMQ,相信大家都不会陌生,微服务开发中必不可少的中间件。

在上篇一文快速入门消息队列的文章中,我们了解到 R…

太优雅了,责任链模式在项目中的实战应用

现实生活中铁链,它由一个个铁环首尾相接构成一条完成的链子,如下图所示:

类比到责任链模式中,铁链中的每个节点可以看成责任链模式中的每个对象,然后每个对象负责处…

SpringBoot中如何创建一个自定义的starter

在springboot中,我们经常可以看到一些如xxx-starter-xxx的maven坐标,典型是spring-boot-starter-web。Sprin…

SpringBoot 整合 apache fileupload 轻松实现文件上传与下载(通用版)

01、背景介绍
在上篇文章中,我们介绍在 Spring Boot 中利用 MultipartFile 对象实现文件上传的案例。
其实在 Java Web 项目…

SpringBoot 整合 MultipartFile 轻松实现文件上传与下载

01、背景介绍
文件上传与下载是 Web 系统中最常见的应用功能,比如用户头像的上传、Excel 文件的导入和导出等。
今天通过这篇文章,我们一起来学习一下如…

SpringBoot 整合 RabbitMQ 轻松实现流量消峰

01、背景介绍
在上篇文章中,我们详细的介绍了 RabbitMQ 的内部架构以及使用操作,本篇我们一起来实操一下SpringBoot整合RabbitMQ,为后…

SpringBoot整合Redis实现数据分布式缓存,实战分享!

01、背景介绍
在当前流行的微服务以及分布式集群环境下,Redis 的使用场景可以说非常的广泛,能解决集群环境下系统中遇到的不少技术问题,在此列举几个使用 r…

SpringBoot整合RabbitMQ实现邮件异步发送(修正版)

在之前的文章中,我们详细介绍了 SpringBoot 整合 mail 实现各类邮件的自动推送服务。
但是这类服务通常不稳定,当出现网络抖动的时候,会导致邮件自动…

SpringBoot 整合 Mybatis 实现数据表增删改查,保姆级教程!

01、背景介绍
在上一篇文章中,我们介绍了利用 Spring Boot JPA 来实现对数据库的访问操作,虽然它在国外广泛流行,但是在国内流行程度远不如 My…

SpringBoot 整合 JPA 轻松搞定数据表增删改查!

01、背景介绍
在之前的文章中,我们介绍了通过JdbcTemplate来实现数据库的访问和读写操作。当有一定的开发经验之后,你会发现所有涉及到数据库操作的代码…

SpringBoot 开发 Web 系统,快速入门指南!

01、背景介绍
在之前的文章中,我们简单的介绍了 SpringBoot 项目的创建过程,了解了 Spring Boot 开箱即用的特性,本篇文章接着上篇的内容…

SpringBoot 整合 MongoDB 实现文档数据存储,实战讲解!

一、背景介绍

在之前的文章中,我们详细的介绍了 MongoDB 的配置和使用,如果你对 MongoDB 还不是很了解,也没关系,我们一起在回顾一下。
在 Mo…

如何使用Spring状态机优雅的管理复杂流程之间的状态变更

在我们的实际项目中经常会遇到一些多流程之间的状态变更问题,典型如订单状态的变更,如下所示的是事件与订单的状态变更的关系图:

每当触发一个事件之后订单的状态就发…