- 博客(401)
- 收藏
- 关注
原创 redis缓存工具类【当缓存未命中时,自动调用数据加载函数从数据库获取数据并存入Redis】
本文介绍了一个基于Spring Boot和Redis的缓存服务实现方案。通过自定义CacheService类提供通用缓存获取方法,结合RedisTemplate实现数据缓存功能。当缓存未命中时,自动调用数据加载函数从数据库获取数据并存入Redis。配置类RedisTemplateConfig设置了键值序列化方式,并初始化了Redis消息监听容器。实际应用示例展示了如何通过注解方式查询轮播图数据,实现"缓存优先"的访问模式,显著提升系统性能。这套方案具有通用性强、使用简便的特点,适用于各类
2025-05-29 14:06:39
679
原创 如何利用redis缓存查询慢的接口
摘要:本文展示了轮播图管理的两个核心功能实现。首先通过selectMpBannerList方法获取状态为2的轮播图列表,采用Redis缓存机制提升性能,当缓存未命中时从数据库查询并存入缓存。其次提供了轮播图排序功能,通过sno方法接收排序请求,更新数据库后主动刷新缓存(updateBannerCache方法)保持数据一致性。代码采用Spring Boot框架,结合MyBatis-Plus的Wrapper构建查询条件,实现了缓存与数据库的双写策略。 (149字)
2025-05-29 12:21:21
208
原创 Redis——Java实现Redis的发布订阅功能
该代码实现了一个基于Jedis的Redis发布订阅功能工具类JedisUtil,包含消息发布(publishMessage)和订阅(subscribeMessage)方法。订阅采用异步线程实现,通过内部类JedisPubSub重写消息处理回调。测试类TestJedis演示了如何先订阅"WeChat"频道,再向该频道发布两条消息("HelloRedis!!!"和"JavaandRedis!!!")。最后通过SpringMVC的@publish接口暴露
2025-05-28 13:57:07
232
原创 手动获取应用上下文(ApplicationContext),如何在非 Spring 管理的类中获取 Spring 容器中的 Bean,如何静态类使用mapper或者service操作数据库,
ApplicationContextHolder 是一个开发者自定义的工具类,用于在非Spring管理的类中获取Spring容器中的Bean。它通过实现 ApplicationContextAware 接口,手动获取应用上下文(ApplicationContext),并提供静态方法获取Bean。该类通常在Spring容器启动后使用,确保线程安全,适用于非Bean类中获取Bean的场景。如果项目未提供该类,开发者可参考示例实现,或直接使用依赖注入方式。使用示例展示了如何在自定义包装类中通过 Applicati
2025-05-20 13:16:36
385
原创 springboot如何利用redis写出重试机制
LatePassengerCheckService 是一个用于处理晚到旅客逻辑的Spring服务类。它通过定时任务每5分钟检查一次已值机的旅客,筛选出有晚值机标识且未完成外呼的旅客,并将其信息存入Redis,设置24小时过期时间。此外,每1分钟执行一次独立的外呼处理任务,从Redis中获取待处理旅客信息,执行外呼操作。外呼成功后,标记旅客为已完成并从Redis中删除记录;若外呼失败,则增加重试次数,达到最大重试次数后删除记录。该服务通过Redis管理外呼队列,确保晚到旅客得到及时处理。
2025-05-19 09:53:20
224
原创 通过从数据库加载MinIO配置并初始化MinioClient,spring boot之Minio上传
该代码实现了一个基于MinIO的文件上传服务。通过从数据库加载MinIO配置并初始化MinioClient,确保存储桶存在后,可以将文件上传到MinIO服务器。文件上传时,生成带时间戳的文件名,并将文件流上传到指定存储桶。上传成功后,返回文件的访问链接。代码通过@PostConstruct注解在服务初始化时自动加载配置,确保MinioClient的创建和存储桶的检查。整体功能包括文件上传、存储桶管理及文件名生成,适用于需要将文件存储到MinIO的场景。
2025-05-17 20:05:21
347
原创 springboot,全版日志,request日志,请求日志
AuthInterceptor 是一个 Spring MVC 拦截器,用于处理请求的认证和日志记录。它首先放行 OPTIONS 请求,并设置响应编码为 UTF-8。接着,拦截器会记录请求的详细信息,包括请求方法、URL、参数、请求体和请求头。对于 POST 和 PUT 请求,它会读取并记录请求体内容;对于 GET 请求,它会记录请求参数。此外,拦截器会检查请求头中的 Access-Token,如果缺失或为空,则返回错误信息并阻止请求继续执行。该拦截器通过日志输出完整的请求信息,便于调试和监控。
2025-05-16 09:53:32
119
原创 企业微信登录方法
该代码实现了一个基于企业微信的授权登录功能。通过调用企业微信API,获取用户的access_token和用户信息。主要流程包括:1) 使用企业微信的corpid和corpsecret获取access_token;2) 通过access_token和授权码code获取用户信息。代码中使用了HttpURLConnection发送GET请求,并通过Gson解析返回的JSON数据。此外,代码还提供了示例流程,展示了如何从企业微信获取授权码、访问令牌和用户信息。该功能适用于企业微信小程序的授权登录场景。
2025-05-15 18:06:16
240
原创 如何创建企业微信应用,如何给企业微信发送消息
然后就能直接在本地发送企业微信消息了 切记 要配置白名单ip。然后在下面创建应用 我创建的是 pes。等你要开发的时候 就需要配置了。首先打开你的企业微信。
2025-05-13 16:17:10
271
原创 如何创建伪服务器,伪接口
创建伪接口是模拟真实接口行为的一种方法,常用于开发和测试。使用Web框架如Python的Flask可以轻松实现。示例代码展示了如何用Flask创建一个简单的伪接口:通过定义路由/api/data,当接收到GET请求时,返回一个包含模拟数据的JSON响应。这种方法不仅简单高效,还能根据需要灵活调整返回的数据,非常适合在开发初期或测试环境中使用
2025-05-10 22:42:47
362
原创 Spring Boot 项目里设置默认国区时区,Jave中Date时区配置
这里,借助 Spring Jackson 的配置来设定时区,此配置会影响 JSON 序列化和反序列化时的时间处理。这种情况会导致 多个微服务转换下 时间会算错 多加八小时。若你使用的是数据库,在数据库连接的 URL 里设置时区。这样做能保证数据库与应用程序使用相同的时区,防止出现时间不一致的问题。你可以依据项目的具体需求,选择合适的方式来设置国区时区。,这样整个应用里涉及时间的操作都会采用这个时区。上述代码把 Java 虚拟机的默认时区设置成了。
2025-04-14 20:29:21
778
原创 系统弹出消息功能,且保证用户只能获取弹出一次消息
要实现系统弹出消息功能,且保证用户只能获取弹出一次消息,你可以借助 Redis 来达成。基本思路是:把消息存于 Redis 的列表中,同时用 Redis 的集合记录用户是否已接收过该消息。
2025-04-11 15:51:41
286
原创 xxx _ 无法将“xxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径...
windows默认不允许任何脚本运行,你可以使用"Set-ExecutionPolicy"cmdlet来改变的你PowerShell环境。
2025-04-11 11:48:35
769
原创 【knife4j报错】.springframework.context.ApplicationContextException: Failed to start bean ‘documentation
在你的项目里添加这个 bean :(加在配置类里就可)
2025-04-04 15:09:54
141
原创 springboot版本号校验,乐观锁
因为 管理端不同的用户 可能对同一条数据进行修改,所以需要配置版本号,这样乐观锁校验一下 就能避免了。然后 你会发现 数据库里面的版本号 自动增加。mybatisPlus就支持。
2025-04-02 12:04:57
203
原创 No spring.config.import property has been defined
遇到No spring.config.import property has been defined怎么解决,你肯定有yaml了,肯定就是。resource 标记一下。
2025-03-29 13:20:08
260
原创 naiveui 封装的 图片上传组件
naiveui 的图片上传 原生写法非常繁琐,而且 不能自动拆分url,在多图上传的时候 很麻烦,所以我封装了一个上传图片的组件,分享给naive 使用者。只要是 绑定这个 formValue.idCardPhoto 你所需要的 字段 就行。
2025-03-28 15:24:31
436
原创 vue3: 如何将后台传来的数组形式的日期转成 yyyy-MM-dd,日期转换
【代码】vue3: 如何将后台传来的数组形式的日期转成 yyyy-MM-dd。
2025-03-22 16:02:30
125
原创 【Mybatis-Plus】mybatisplus更新时,实体字段为空,数据库不更新的解决方案
从前端传过来的数据实体字段, convertType 和 step 设为null时,使用mybatis-plus 的 updateById方法往数据库中更新时,这两个字段不更新,数据不为空可以插入。在需要更新的字段上加上 mybatis plus 的注解 @TableField(fill = FieldFill.UPDATE) ,它的作用是字段填充时要更新此字段。mybatis-plus在更新的时候做了null判断,默认不更新为null的传参。有两种方法都可以解决这个问题,都是加注解。
2025-03-19 15:28:01
913
原创 XML文件不能被打包问题,Invalid bound statement (not found)
此时xml文件的sql语句,注意检查id是否与方法名对应,namespace是否与接口对应,resultMap的全类名是否对应,不然也会报错。将.xml文件放在resources中(使用此方法,注意id,namespace,resultMap是否对应)我的工程项目结构,由于使用Mybatis-plus非常舒服的代码生成器,自动将xml放在了java包下。-- 项目打包时会将java目录中的*.xml文件也进行打包 -->此时查看target编译目录,发现src下的.xml文件未被编译。
2025-03-17 16:58:14
176
原创 spring.factories 的用处
文件的主要用途是让 Spring Boot 能够自动发现和加载项目依赖中的自动配置类。在 Spring Boot 应用启动时,它会扫描所有依赖库的文件,依据文件中的配置信息来加载相应的自动配置类,进而实现各种功能的自动配置。当你开发一个 Spring Boot Starter(自定义的 Spring Boot 依赖库)时,可以使用文件来指定自动配置类。这样,其他项目引入你的 Starter 后,Spring Boot 会自动加载这些配置类,完成相应的配置。
2025-03-14 11:14:21
551
原创 内网maven库,复制到其他电脑本地,无法解析
这是因为复制过来的maven库 里面有 .lastUpdated, 只要删除了 ,还有 _remote.repositories 删除就行。
2025-03-06 11:06:33
116
原创 如何在docker上部署前端nginx服务(VUE)
目录结构clean.shstart.sh然后是ngxin的配置启动顺序 clean.sh start.sh。
2025-02-26 16:03:43
431
原创 如何在docker上部署java服务
启动顺序 build start 关停 clean 如果二次启动 直接rebuild。首先 Dockerfile。然后 build.sh。然后clean.sh。
2025-02-26 15:54:01
465
anapsix/alpine-java:8-server-jre-unlimited
2025-02-05
100个python脚本合集,适合学习,生活日常等等
2024-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人