排序
多数据源 ibatis.binding.BindingException Invalid bound statement
异常 本来 springboot 配置 mysql 配置正常,后来新加入了其他数据源,发现报错: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 解决方案 多数据源配置下...
如何在SpringBoot中优雅地重试调用第三方API?
1引言 在实际的应用中,我们经常需要调用第三方API来获取数据或执行某些操作。然而,由于网络不稳定、第三方服务异常等原因,API调用可能会失败。为了提高系统的稳定性和可靠性,我们通常会考虑...
kafka第一篇
1,什么是kafak kafka是一种事件的流式处理平台,他的主要的三个特性是 发布和订阅时间流,包括连续导入/导出来之其他系统的数据 持久可靠的存储事件流 在事件发生或回顾性地处理事件流 2,kafk...
解析Spring中的循环依赖问题:再探三级缓存(AOP)
前言 在之前的内容中,我们简要探讨了循环依赖,并指出仅通过引入二级缓存即可解决此问题。然而,你可能会好奇为何在Spring框架中还需要引入三级缓存singletonFactories。在前述总结中,我已经...
MySQL-16.变量,流程控制与游标
C-16.变量,流程控制与游标 1.变量 在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。 1.1 系统变量 1.1.1 系统变量分类 变量由系统定...
深入理解 Java 修饰符与封装:访问权限、行为控制与数据隐藏
Java 修饰符 Java 修饰符 用于控制类、属性、方法和构造函数的访问权限和行为。它们可以分为两组: 访问修饰符: public: 意味着代码对所有类可访问。 private: 意味着代码只能在声明的类内部访...
如何创建自己的Spring Boot Starter并为其编写单元测试
当我们想要封装一些自定义功能给别人使用的时候,创建Spring Boot Starter的形式是最好的实现方式。如果您还不会构建自己的Spring Boot Starter的话,本文将带你一起创建一个自己的Spring Boot ...
【进阶篇】使用 Redis 实现分布式缓存的全过程思考(一)
目录 前言 一、关于缓存 二、基本数据结构 三、缓存注解 3.1自定义注解 3.2定义切点(拦截器) 3.3 AOP 实现 3.4使用示例 四、数据一致性 4.1缓存更新策略 4.2缓存读写过程 五、高可用 5.1缓存...
解析Spring中的循环依赖问题:初探三级缓存
什么是循环依赖? 这个情况很简单,即A对象依赖B对象,同时B对象也依赖A对象,让我们来简单看一下。 // A依赖了B class A{ public B b; } // B依赖了A class B{ public A a; } 这种循环依赖可能...
SpringCloud和SpringBoot的版本依赖该怎么选择
前言 Spring Cloud是一个基于Spring Boot的微服务框架,用于构建和管理分布式系统的各个组件。它提供了一套完整的解决方案,包括服务注册与发现、配置管理、负载均衡、熔断器、消息总线、数据流...
Spring Security权限控制框架使用指南
在常用的后台管理系统中,通常都会有访问权限控制的需求,用于限制不同人员对于接口的访问能力,如果用户不具备指定的权限,则不能访问某些接口。 本文将用 waynboot-mall 项目举例,给大家介绍...
多线程系列(十) -ReadWriteLock用法详解
一、摘要 在上篇文章中,我们讲到ReentrantLock可以保证了只有一个线程能执行加锁的代码。 但是有些时候,这种保护显的有点过头,比如下面这个方法,它仅仅就是只读取数据,不修改数据,它实际...