- 博客(634)
- 资源 (10)
- 收藏
- 关注
原创 OAuth2使用授权码模式 概述及 gitee登录第三方网站,并拿到gitee系统的用户信息
访问 http://localhost:8080/gitee/auth ,点击授权,输入gitee的账号和密码,就可以登陆系统了,并返回了gitee的用户信息。托管资源所有者的受保护资源。资源服务器可以接受和响应来自客户端的受保护资源请求,但前提是客户端必须拥有有效的访问令牌。它负责验证资源所有者的身份,并向客户端发放访问令牌。Client ID和Client Secret。实现通过gitee的账号登陆我们的系统。这里指的就是我们自己的系统。这里指的就是 gitee。
2024-05-19 17:40:57 158
原创 BeanPostProcessor、BeanFactoryPostProcessor使用场景,概述与AOP 的关系,简单demo
修改BeanDefinition2 Beanbean初始化前后执行一些自定义逻辑例如AOP。
2024-05-18 16:07:02 254
原创 CGLIB动态代理demo
CGLIB创建的代理类确实是目标类的一个子类。它通过字节码操作,动态生成一个继承自目标类的新类。这样,代理类就可以访问目标类的非final方法和protected及更低访问级别的成员变量,从而实现对这些方法的拦截和增强。:在生成的子类中,对于目标类中的每个非final方法,CGLIB都会生成一个方法拦截器(由用户自定义的MethodInterceptor实现),该拦截器定义了在调用原始方法前后需要执行的附加操作,即“增强”的逻辑。这包括但不限于日志记录、事务管理、权限检查等。
2024-05-18 12:51:54 191
转载 SpringBoot中定义Bean的8种方式
查看博文SpringBoot中定义Bean的8种方式_springboot 指定beanname-CSDN博客
2024-05-17 12:47:50 8
转载 springboot 中 Conditional注解(条件满足才会放到spring容器中)详解
场景:自定义starter中,自动配置类中使用,或bean注入到容器的条件,条件满足才会放到spring容器中。通常和 maven的optional 结合使用,optional 详解如下。Conditional注解详解查看博文。
2024-05-17 12:01:14 5
原创 SpringBoot事件发布与监听,观察者模式使用
可以发现,用户注册与信息推送强耦合,用户注册其实到存库成功,就已经算是完成了,后面的信息推送都是额外的操作,甚至信息推送失败报错,还会影响API接口的结果,如果在同一事务,报错信息不捕获,还会导致事务回滚,存库失败。本文记录springboot使用@EventListener监听事件、ApplicationEventPublisher.publishEvent发布事件实现业务解耦。
2024-05-16 15:25:28 268
原创 排查Java进程CPU占用过高 和 内存占用过高的问题
是一个可视化工具,可以用来分析Java进程的性能,包括线程和堆的情况。jstack 将线程信息输出到文本。jstack打印出当前线程的信息。导入 上面的 hprof 文件。线程号转换成16进制。
2024-05-15 14:30:29 104
原创 若依Ruoyi微服务版,通过docker-compose部署流程和部分坑记录
6 执行docker-compose up -d ruoyi-mysql ruoyi-redis ruoyi-nacos ,先启动 mysql,redis,nacos,名称是docker-compose.yml 里定义的名称,也可以运行deploy.sh base。7 再执行 docker-compose up -d ruoyi-nginx ruoyi-gateway ruoyi-auth ruoyi-modules-system , 启动核心服务,也可以运行deploy.sh modules。
2024-05-08 18:17:25 276
原创 springboot整合kafka发送消息,消费消息
链接:https://pan.baidu.com/s/12oO0I29XtCKU-ysjURflwA。
2024-05-07 18:20:51 223
原创 spring Ai框架整合Ollama,调用本地大模型
Ollama是一个用于在本地计算机上运行大模型的软件软件运行后端口,自己写的程序要调大模型就用这个端口ollama list:显示模型列表ollama show:显示模型的信息ollama pull:拉取模型ollama push:推送模型ollama cp:拷贝一个模型ollama rm:删除一个模型ollama run:运行一个模型。
2024-05-02 11:42:34 554 1
原创 redis 使用互斥锁或逻辑过期两种方案解决缓存击穿,和缓存穿透(用缓存空值 或布隆过滤器)的解决方案
缓存击穿是指一个被频繁访问(高并发访问并且缓存重建业务较复杂)的缓存键因为过期失效,同时又有大量并发请求访问此键,导致请求直接落到数据库或后端服务上,增加了系统的负载并可能导致系统崩溃。缓存穿透是指在缓存中查找一个不存在的值,由于缓存一般不会存储这种无效的数据,所以每次查询都会落到数据库上,导致数据库压力增大,严重时可能会导致数据库宕机。4 做好数据的基础格式校验。缓存空值 (本文此方案。5 做好热点参数的限流。3 增强id的复杂度。
2024-04-28 19:51:22 986
原创 Hutool工具包 常见类使用
JSON工具-JSONUtilhutool工具-----JSON工具-JSONUtil-CSDN博客BEAN工具-BeanUtilHutool工具包中 BeanUtil中主要方法 beanToMap ,toBean,copyProperties,fillBeanWithMap 的使用-CSDN博客
2024-04-27 12:29:33 189
原创 RedisTemplate-opsForStream实现消息队列,主要演示 xgroup,xreadgroup,xpending,xack,xinfo的用法
【代码】RedisTemplate-opsForStream实现消息队列api使用。
2024-04-26 23:01:12 317
原创 redis中使用pipeline批量执行命令,提升性能
提交到pipeline中,pipeline一次性的将数据发送给服务器,服务器再逐条执行命令。RedisCallback更接近redis原生命令。SessionCallback对操作进行了封装。,可以根据操作不同的数据类型进行转换,将一批要执行的redis命令。注意:此操作非原子性。将键和值都转换为字节码。中已经提供了对应方法。
2024-04-25 16:56:43 241
原创 redis基于Stream类型实现消息队列,命令操作,术语概念,个人总结等
1 在Redis Stream中,即使消息被消费者确认(acknowledged,ACK),消息也不会自动从Stream数据结构中删除。这与Kafka或RabbitMQ等传统消息队列系统的做法不同,在那些系统中,一旦消息被消费并确认,通常会被从队列中移除以释放存储空间。2 若一个Stream中有5条消息,并且存在两个消费者组,这两个消费者组可以各自独立地消费这些消息,即所有消息对于不同消费者组来说是“广播”的,这一点类似于Kafka中的逻辑。
2024-04-24 22:29:52 515
原创 Hutool工具包中 BeanUtil中主要方法 beanToMap ,toBean,copyProperties,fillBeanWithMap 的使用
【代码】Hutool工具包中BeanUtil的使用。
2024-04-24 11:47:49 582
原创 springboot整合rabbitMQ系列10 利用插件实现延时消息
【代码】springboot整合rabbitMQ系列10 利用插件实现延时消息。
2024-04-23 15:34:31 255 3
原创 阿里 TransmittableThreadLocal 解决 线程池模式下,线程间变量传递的问题
因为jdk中的ThreadLocal,InheritableThreadLocal 无法在父子线程,父线程与线程池之间变量的传递。
2024-04-17 16:59:03 205
转载 Mybatis-Plus条件构造器and or嵌套使用
转博文Mybatis-Plus条件构造器and or嵌套使用_myabtis-plus条件构造器如何控制sql的括号-CSDN博客
2024-04-16 11:58:17 29
原创 SpringBoot中通过自定义Jackson注解实现接口返回数据脱敏
【代码】SpringBoot中通过自定义Jackson注解实现接口返回数据脱敏。
2024-04-16 11:10:35 319
原创 springCloud-Feign 拦截器使用,传递header中的值
服务A发请示时,在header中设置参数code,服务B可以拿到拦截器里设置的信息。使用拦截器,两种方法,选一种即可。服务A 调用 服务B。
2024-04-14 19:43:21 293
转载 Docker Compose常用命令
参考博文Docker Compose常用命令_dockercompose命令-CSDN博客https://www.cnblogs.com/chunyouqudongwuyuan/p/17994800Docker Compose 教程 - 简明教程
2024-03-30 18:47:19 22
原创 java 通过 IMetaStoreClient 取 hive 元数据信息
【代码】java 通过 IMetaStoreClient 取 hive 元数据信息。
2024-03-20 22:45:13 294
原创 延时消息如需要实现订单超时关闭等,各种方案实现汇总
4 基于redisson-RDelayedQueue实现。1 Java延时队列DelayQueue实现。2 RocketMq 发送延时消息。3 EMQ-延迟发布。
2024-03-18 15:46:17 422
转载 SpringBoot使用guava的布隆过滤器 原理和实现
SpringBoot使用guava的布隆过滤器_springboot guava-CSDN博客
2024-03-04 14:13:11 58
原创 SpringBean生命周期之InitializingBean,初始化bean
【代码】SpringBean生命周期之InitializingBean,初始化bean。
2024-03-02 11:06:01 453
原创 Mybatis-plus 枚举类映射 @EnumValue,pojo某个字段使用枚举类型
【代码】Mybatis-plus 枚举类映射 @EnumValue,pojo某个字段使用枚举类型。
2024-03-01 12:21:45 530
转载 mysql SQL语句 left join inner join On和Where语句的区别
where后面是过滤条件, 就是做过滤的, 只要where不满足, 结果压根就不显示。on 是做匹配的, 不匹配的用NULL填充。inner join时,on 等同于where 过滤条件。left join 时,
2024-02-29 14:13:50 22
原创 redis-RedisTemplate.opsForGeo 的geo地理位置及实现附近的人的功能
【代码】redis-RedisTemplate.opsForGeo 的geo地理位置及实现附近的人的功能。
2024-02-28 15:45:15 773
转载 CompletableFuture 系列文章 汇总
https://cloud.tencent.com/developer/article/2371885?areaId=106001Java并发编程-CompletableFuture(上)-腾讯云开发者社区-腾讯云Java并发编程-CompletableFuture(下)-腾讯云开发者社区-腾讯云多线程(五) | 聊聊ComplatableFuture-腾讯云开发者社区-腾讯云
2024-02-26 22:58:26 26
微信开发.binarywang - WxJava 开发微信公众号程序-还不完善,不要下,资源想删除删除不了
2024-02-15
seata 1.4.2安装包,内置了seata.sql文件,注册和配置已经选用了nacos
2023-11-13
(spring cloud stream 整合 rabbitmq , 自定义消息通道,既能发消息,)cloud-stream-rabbitmq-test.rar
2021-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人