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

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

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

一、背景介绍

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

一文带你吃透 RabbitMQ 的高可用架构

01、背景介绍
在前几篇文章中,我们详细的介绍了 RabbitMQ 的内部架构和使用操作,以及 SpringBoot 整合 RabbitMQ 实现流量消峰的实践…

神奇的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,为后…

Long 类型数据回传给前端,从17位开始居然都是0?

01、问题描述
最近在改造业务系统的时候,发现了一个巨坑,前端 JS 在获取后端 Long 型参数时,出现精度丢失!
起初,用 postman 模拟接口请求,…

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…

实现大文件的断点下载、分片下载

大文件下载是我们开发中经常可以遇到的业务场景,如果直接将大文件(如一部高清的电影可能有5G)装载到内存中的方式下载,如下所示:

如果内存只有4G内存,此时资源…

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

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

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

从运行的角度理解Java反射的原理

通过Java的发射机制可以实现一些高级的功能,比如动态生成代理对象、动态生成类、动态配置对象等。在Java的一些框架(如Spring框架)也广泛应用了发射机制,…