自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Java】Spring Boot 中依赖循环问题的产生与解决方案详解

摘要: 本文针对Spring Boot开发中的依赖循环问题,通过用户服务与订单服务相互依赖的案例,分析了循环依赖的产生原因及Spring的解决机制。重点介绍了四种解决方案:1)重构代码提取公共逻辑(推荐);2)使用@Lazy延迟加载(临时方案);3)改用Setter/Field注入(不推荐);4)手动获取Bean(极端情况)。文章强调应优先采用构造器注入和架构优化,避免服务间直接耦合,并提供了方案对比表。最终指出循环依赖反映了设计缺陷,建议通过领域事件等方式解耦,而非仅靠技术手段绕过问题。(149字)

2025-11-28 11:12:39 923

原创 【Java】Spring Boot 缓存实战:深入理解 @Cacheable 注解及其参数详解

本文深入讲解Spring框架中@Cacheable注解的使用方法,详细介绍了其核心参数如cacheNames、key、condition等的功能与配置技巧。通过代码案例展示了基础缓存、条件缓存、防缓存击穿等典型场景的实现方式,并提供了完整的单元测试验证缓存行为。文章还指出了缓存使用中需要注意的穿透、雪崩、击穿等问题及解决方案,帮助开发者正确应用缓存提升系统性能。适用于需要优化Web应用性能的Spring开发者。

2025-11-26 11:25:34 647

原创 【Java】Spring Boot Event事件驱动开发:使用 ApplicationEvent 实现解耦通信

Spring Boot 事件驱动开发:使用 ApplicationEvent 实现解耦通信 摘要:本文介绍了 Spring Boot 中的事件驱动开发模式,通过 ApplicationEvent 实现组件间松耦合通信。核心内容包括:1) Spring 事件机制基于观察者模式,包含 ApplicationEvent、ApplicationListener 和 ApplicationEventPublisher 三大组件;2) 详细代码示例展示如何创建自定义事件、发布服务和监听器;3) 提供单元测试和集成测试方

2025-11-26 11:04:23 914

原创 【Java】深入理解 Java 动态代理:JDK 与 CGLIB 的原理、区别及实战示例

在 Java 开发中,动态代理是实现 AOP、事务控制、日志拦截等核心功能的关键技术。本文全面对比了 JDK 动态代理与 CGLIB 动态代理的实现原理、适用场景、性能差异及限制条件,并提供完整可运行的代码示例。通过本文,你将掌握如何根据项目需求选择合适的代理方式,并深入理解 Spring 等框架背后的代理机制。

2025-11-25 12:45:34 55

原创 Vue表格多选后,将勾选数据返现到弹框中列表,部分数据出现丢失情况

摘要:Vue表格多选后,将勾选数据返现到弹框中列表,部分数据出现丢失情况。客户反馈勾选表格数据后返回条目不一致的问题,原因是后端按create_time倒序排序时,相同时间导致跨页勾选异常。解决方法是在排序条件中增加自增ID字段,确保返回数据顺序固定,避免数据丢失。该方案有效解决了跨页勾选异常问题。

2025-09-28 13:57:01 166

原创 【Java】使用FreeMarker来实现Word自定义导出

本文介绍了使用Java中的FreeMarker模板引擎实现Word文档导出的方法。首先通过Maven引入freemarker依赖库,然后提供了两种Word导出工具类实现:一种基于磁盘路径加载模板(CreateWord方法),另一种使用相对路径加载模板(GeneratorWord方法)。工具类包含配置FreeMarker版本、设置编码格式、处理模板文件等核心功能,并提供了下载文件的方法(downloadFile),支持处理不同浏览器环境下的文件名编码问题。这些方法能够有效解决常规Excel无法满足的特殊导出需

2025-08-04 16:34:49 812

原创 【Java】XML文件的ResultMap生成工具类

xml文件中,快速生成resultMap映射,通过指定实体类来快速生成xml文件的resultMap映射文件

2024-09-24 14:58:44 602

原创 【Java】SpringBoot中实现Redis Stream队列

在SpringBoot中实现Redis Stream队列

2023-12-15 14:55:33 4152 5

原创 【Java】微服务负载均衡算法实现

Java负载均衡是指在多台服务器之间分配负载,以提高服务器的性能和可用性。它通过将请求分发到多台服务器来减少单个服务器的压力,从而提高系统的性能和可用性。这篇只是了解一下负载均衡的算法是如何实现的,在平常使用的话,feign里已经实现了负载均衡策略,所以不需要我们手动去撸代码实现。

2023-07-24 11:44:54 975

原创 【Java】Mybatis使用Collection属性

Mybatis联表查询、Json字段映射

2023-07-19 15:46:13 4014 2

原创 【Java】SpringBoot集成P6spy,实现自定义SQL日志打印

Java实现自定义日志打印功能,优雅的打印SQL

2023-07-12 11:46:11 2146

原创 【Java】使用多态特性来实现微信、支付宝、银联的流程部署

这篇文章使用Java中多态的特性来完成不同方式的。案例:使用接口多态的特性来完成微信支付宝银联的支付。

2023-06-30 12:03:39 940

原创 【微信支付】微信v3支付案例,SpringBoot集成IJPay实现微信v3支付

微信v3支付案例,SpringBoot集成IJPay实现微信v3支付

2023-06-15 15:22:51 3532

原创 【Java】SpringBoot中实现多数据源切换

在SpringBoot中对数据源进行动态的切换

2023-04-28 11:36:15 5101 2

原创 【Seata】Seata配置上传Nacos

seata向nacos上传配置,将所有配置项整合为一个配置文件

2023-04-18 12:02:32 1298

原创 【分布式事务TCC模式】 SpringCloud整合Seata框架,实现TCC模式

分布式事务TCC模式案例,在SpringCloud中集成Seata的TCC模型案例,简单了解TCC模型使用

2023-04-14 16:33:53 1277

原创 【分布式事务AT模式 SpringCloud集成Seata框架】分布式事务框架Seata详细讲解

SpringCloud整合seata框架,案例demo

2023-04-12 16:11:41 1490

原创 【分布式事务 本地部署Seata服务】分布式事务框架Seata本地部署详细讲解

本地部署seata服务,配置nacos,启动本地seata server服务

2023-04-12 15:20:52 2147

原创 【Java】自定义注解和AOP切面的使用

使用AOP和自定义注解完成日志保存

2023-04-02 14:45:09 1682 1

原创 【Java】Mybatis查询数据库返回JSON格式的字段映射到实体类属性

Mybatis查询返回数据库json类型的数据

2023-03-27 16:56:28 8993 6

原创 【Java】SpringBoot中实现异步编程

在Springboot中使用异步操作

2023-03-09 19:56:11 874

原创 【Oracle】在PL/SQL中使用Update语句修改多个表

使用UPDATE修改多个表的数据

2023-02-01 09:33:10 3057 1

原创 【Java】HTTP请求工具类

在工作中可能存在要去调用其他项目的接口,这篇文章我们实现在Java代码中实现调用其他项目的接口。创建一个携带参数的POST请求,去请求其他项目的接口并返回数据。附加HTTP请求工具类,包含(GET、POST、无参GET、无参POST)

2022-12-26 16:36:10 6081

原创 【Java】自定义异常类

在这篇文章我给大家演示一下自定义异常类的编写,在业务编写时可以返回我们的自定义异常信息和状态码等如果参数为null或者为空则抛出我们自定义的异常。

2022-12-26 09:01:48 4006

原创 【Mybatis】Mybatis中${_parameter}代表什么意思

Mybatis的xml中,${_parameter}的讲解

2022-12-23 11:26:39 1388

原创 【Java】打印出一个对象的所有属性

如何打印出一个对象里面的所有属性和对应的值,通过重写`toString()`方法来实现。重写对象的toString方法,方法返回对象的所有属性。

2022-12-06 16:39:29 4928

原创 【Java】logback.xml文件配置

logback日志的使用。logback.xml的配置文件讲解

2022-12-05 14:08:16 5555 2

原创 【Mybatis】Mybatis批量插入操作【详细教程】

对于我们在开发中很多场景都会遇到一些批量数据的插入操作,这篇文章我会简单展示一下案例和在插入时所注意的事项。

2022-10-28 08:34:02 6510

原创 【Java】统一结果集返回工具类

在我们java平常的开发中,比较重要的一点就是对于接口的返回值的定义,因为基本大部分的api接口都需要一个统一的返回,这样调用方就比较好处理,逻辑也清晰,所以设计一个统一的返回就比较重要了。例如200 可以标识成功,500可以表示报错,110可以表示未登录,120可以表示没有权限…code一般用来表示接口的调用情况,调用方可以根据code表判断这个接口的调用情况,些查询接口调用会有一个返回数据,用data来表示,工具类采用Object。

2022-10-20 11:59:02 2353

原创 【Java】Java实现读取Word文档中的文字信息

【代码】【Java】Java实现读取Word文档中的文字信息。

2022-10-17 17:26:06 1607 1

原创 【番外篇】表白程序

【代码】【番外篇】表白程序。

2022-10-14 15:21:38 414

原创 【Flowable】Flowable工作流教程

我们要构建的流程是一个非常简单的请假流程。Flowable引擎需要流程定义为BPMN 2.0格式,这是一个业界广泛接受的XML标准。在Flowable术语中,我们将其称为一个流程定义(process definition)。一个流程定义可以启动多个流程实例(process instance)。流程定义可以看做是重复执行流程的蓝图。在这个例子中,流程定义定义了请假的各个步骤,而一个流程实例对应某个雇员提出的一个请假申请。我们要使用的流程定义为:这个流程应该已经十分自我解释了。

2022-10-14 14:39:54 9987

原创 【单例模式】Java设计模式之-单例模式操作讲解(详细教程)

让你在五分钟之内明白单例模式,清楚知道单例模式是如何使用的,全网详细教程

2022-07-29 10:00:34 496

原创 Mybatis中使用<SQL></SQL>公共引用

在mybatis中使用公共SQL引用,避免频繁使用相同的SQL语句

2022-07-06 09:43:37 4320 3

原创 Mybatis中使用in()查询

mybatis中使用in查询的两种方式

2022-06-22 13:24:12 26574 5

原创 Mybatis查询返回Map<String,Object>类型

使用Mybatis查询结果返回为Map类型,实战操作

2022-06-17 15:16:17 25586 10

原创 SpringBoot整合Redis

在SpringBoot中操作Redis,了解RedisProperties的配置。这期会说一下SpringBoot的约定大于配置首先创建一个SpringBoot项目,版本按照自己的jdk来勾选 SpringWeb和Redis依赖删除多余文件我们在配置文件中配置redis开始测试一下,开启redis服务在测试类中编写代码 opsForValue()是操作字符串的,操作list就是ForList()操作hash就是ForHash()我们来创建一个User 在测试类中测试 运行一下可以看到报错的信息是没有序列化,

2022-06-17 09:30:19 549

原创 Mybatis使用on duplicate key update操作详解

mybatis的on duplicate key update练习,唯一索引存在则更新不存在则插入

2022-06-13 12:16:52 8121 3

原创 SpringBoot多配置文件切换,运行指定配置文件

在springboot中使用profiles来对配置文件进行切换,运行指定的配置文件

2022-06-09 15:59:57 1054 1

原创 SpringBoot整合Mybatis

Springboot整合Mybatis框架,简单CRUD操作

2022-05-23 15:19:17 308

Java中实现短信验证码

Java中简单实现往手机发送验证码

2022-03-30

空空如也

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

TA关注的人

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