- 博客(18)
- 收藏
- 关注
原创 SpringBoot 集成 minIO 实现文件上传下载功能详解
MinIO 是一个高性能的对象存储服务,兼容 Amazon S3 API,非常适合用于存储大量非结构化数据。本文将详细介绍如何在 SpringBoot 项目中集成 MinIO,实现文件的上传、下载和预览功能。
2025-10-10 11:18:13
1290
原创 Spring Boot 集成 Redis 实现缓存功能:@Cacheable 注解实战指南
缓存的核心思想是将频繁访问的数据存储在访问速度更快的介质中,减少对数据库等底层存储的访问压力。在分布式系统中,Redis 因其高性能、支持多种数据结构和持久化特性,成为缓存的首选方案。是 Spring Data Redis 提供的核心操作类,用于手动操作 Redis。我们需要配置其序列化方式,避免数据存储为不可读的二进制格式。等注解可以实现声明式缓存,无需手动编写缓存逻辑。是 Spring 缓存抽象的核心组件,负责管理。结合我们的配置,当调用。第二次调用会先从缓存里找。在方法里断点是断不到的。
2025-10-09 16:43:57
353
原创 【OpenFeign】使用详解
以订单远程调用商品为例,订单发起远程调用,如果商品服务宕机,或者商品服务卡顿等其他原因,导致迟迟返回不了结果,这样就会导致订单服务一直等待,而假设其他服务又调用了订单服务,又会导致其他服务一直等待返回结果,这样就会导致整条链路全部失败。若是在高并发的情况下,最终会导致集群的资源耗尽,引起服务雪崩。,之前超时控制板块说了,如果商品服务一直不返回,有两种解决办法,一种是快速返回错误数据,还有一种就是返回兜底数据,比如查不到商品,我不返回错,我返回0,以便让后续的逻辑可以继续进行,优化用户体验。
2025-06-13 15:33:57
1288
原创 EasyExcel导出多级且动态的表头
EasyExcel 会根据你的Head结构自动判断是否需要合并表头。如果你的表头是多层级的(比如有分组表头),EasyExcel 会自动合并相同的一级表头。动态表头可以根据实际的业务需求组装成List<List<String>>格式,导出数据也是。
2025-06-09 16:06:17
1395
原创 分页失效问题(通过Stream流和手动分页解决)
最近做了一个分页的功能,发现需要返回的结果没办法从数据库一遍查出来,需要先查一遍数据库获得结果集的前提下再和别的业务进行过滤一遍,这样会导致最终的分页结果出现错误,mybatis的PageHelper和mybatis-plus的selectPage同理,都可以用这种方法解决,即手动分页。
2025-06-06 14:41:15
228
原创 如何用SpringBoot整合Redis
springboot在现在的版本中操作Redis数据库用到了lettuce豆包回答:Lettuce 是一个高性能的 Java Redis 客户端,基于 Netty 框架构建,支持同步、异步和响应式编程模式,它是 Spring Data Redis 默认的 Redis 客户端(从 Spring Boot 2.0 开始),替代了 Jedis。SpringBoot操作Redis主要是通过统一API来操作Redis,它提供了一系列API。/***/@Bean// 创建模板// 设置连接工厂。
2025-05-13 16:02:27
613
原创 自定义注解+AOP实现操作日志记录
该注解的value值用于记录操作类型是什么,比如新增,修改,删除...../*** 用于操作日志记录*/@Target(ElementType.METHOD) //该注解用于方法上@Retention(RetentionPolicy.RUNTIME) //运行期间仍然有效,可以在运行时通过反射获取注解的属性和值/*** 是否允许为空* @return*/
2025-05-13 09:21:56
721
原创 【RabbitMQ入门】五种消息模型实战
简单模式在RabbitMQ中是一个单队列单生产者单消费者的模式,主要适用于单纯的任务处理,消息的生产者和消费者的削峰填谷能力非常高。但是,在某些场景下,我们希望不同的消息被不同的队列消费,我们就要用的routing路由模式,这种模式是通过一个routingkey来收发消息。Topic类型的交换机与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列,没有本质区别,只不过Topic类型交换机可以让队列在绑定Routing key 的时候使用通配符!与当前交换机进行绑定的所有队列中。
2025-04-10 09:12:35
2749
原创 【Nacos】Nacos配置中心
③ file-exetension:配置文件的类型,默认是 properties,也可以通过配置项 spring.cloud.nacos.config.file-extension 来配置,目前支持的类型有 TEXT、JSON、XML、YAML、HTML、Properties。① prefix:前缀,默认是 spring.application.name 的值,也可以通过配置项spring.cloud.nacos.config.prefix 来配置。,查看是否获取到了配置中心的数据。2.修改配置中心数据。
2025-04-07 09:46:00
2999
原创 【Nacos使用】Nacos的服务提供者与消费者
首先,你需要先把Nacos下载下来,这是官方网址注意版本选择,需与springboot,cloud,cloud Alibaba相适应(本文使用的是nacos2.2.0版本)
2025-04-03 16:21:42
1129
原创 获取区间内每月的第一天和最后一天
MonthRangeStrings是个类,内有两个字符串类型的字段 startDateStr, endDateStr// 定义解析输入月份字符串的格式化器// 定义输出日期字符串的格式化器// 将输入的月份字符串解析为 YearMonth 对象// 获取该月的第一天// 获取该月的最后一天// 将开始日期和结束日期格式化为字符串。
2025-03-10 17:45:29
230
原创 减少if-else!!用注解实现参数校验 @validated + 全局异常处理器
作为后端程序员,我们需要接收前端的参数,或者其他系统的参数来操作数据库,但是有些垃圾数据如果不进行校验,那么我们的程序也会对它进行数据库操作,可能报异常不说而且还增大数据库的压力,所以我们争取在操作数据库之前进行过滤掉垃圾数据,保证程序和数据库最好的运行。
2025-02-26 17:05:07
783
原创 MybatisPlus自动填充字段
该类要继承MetaObjectHandler接口,并实现两个方法,一个记录保存操作,一个记录修改操作,在这两个方法里进行数据的填充。fill : 填充模式(用于在插入和更新操作时自动填充字段的值 )value:对应的数据库字段。
2025-02-24 17:24:31
485
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅