- 博客(98)
- 收藏
- 关注
原创 spring AI 导入maven报错Unresolved dependency: ‘org.springframework.ai:spring-ai-bom:pom:1.0.0-M2‘
我们大多数镜像仓库使用的都是阿里的。但是目前阿里仓库里面还没有spring ai的jar包。进行上面的操作就可以了,如果还是不行的话就清理IDEA缓存,如果你用的是IDEA的话。这是 我们已经引入的依赖。
2025-03-04 15:19:26
939
原创 Vue3 根据相对路径加载vue组件
在需要的地方引入这个组件就可以了,如果想要通过相对路径的方式加载对应的vue文件只需要,对。子组件的路径:src/views/form/childen.vue。
2024-07-10 15:53:29
523
原创 redisson分布式锁
leaseTime:锁超时释放时间。默认是30,同时会利用WatchDog来不断更新超时时间。需要注意的是,如果手动设置leaseTime值,会导致WatchDog失效。waitTime:获取锁的等待时间。当获取锁失败后可以多次重试,直到waitTime时间耗尽。waitTime默认-1,即失败后立刻返回,不重试。注入RedissonClient 对象。TimeUnit:时间单位。
2024-03-16 10:50:30
835
原创 Linux最小系统安装无法查看IP地址
从图中我们可以看到,并没有获取到linux系统的IP地址,这是为什么呢?这是由于启动服务器时未加载网卡,导致IP地址初始化失败而造成的。那么接下来我们就需要来修改网络初始化配置,设定网卡在系统启动时初始化。cd network-scripts 进入network-scripts。cd sysconfig 进入sysconfig目录。②. 按↑↓键来移动光标, 删除no,输入yes。①. 按 i 键 进入编辑状态。③. 按 ESC 键。
2024-03-10 09:44:50
972
2
原创 集群下锁失效的问题(JAVA)
Component//EnumMap 自动获取枚举类中有多少枚举项,当我们Map的key是枚举类型时我们就可以使用EnumMap@Retention(RetentionPolicy.RUNTIME) //标记当前注解运行在什么时候@Target(ElementType.METHOD) //当前注解用在什么地方//等待时间,获取锁失败后等待1秒,可以在1秒内重试//锁超时释放时间 -1时会自定启用看门狗机制//时间单位//锁的类型//s锁失败策略。
2024-03-09 12:16:55
1148
原创 事务失效问题
因此事务方法一定要是public的,这样才能便于被Spring做事务的代理和增强。也就是说,这里相当于是直接调用原始的OrderService中的普通方法,而非被Spring代理对象的代理方法。方法,会开启一个事务,可以成为外部事务。现在事务被捕获,就会导致Spring无法感知事务异常,自然不会回滚,事务就失效了。既然事务失效的原因是方法内部调用走的是this,而不是代理对象。方法是一个事务方法,肯定会被Spring事务管理。时,不会被Spring捕获,因此就不会触发事务回滚,事务就失效了。
2024-03-08 22:45:56
447
原创 并发安全问题(超卖问题)
但如果是多线程并发运行,如果N个线程同时去查询(N大于剩余库存),此时大概率查询到的库存是充足的,然后判断库存自然没问题。出现的问题:同一个用户同一时间使用多个线程同时购买就会导致用户抢到很多次商品。但在更新数据前,会先检查是否有其他线程修改了该数据。每次读取数据时都上锁,防止别人操作数据,就是将并行转为串行。乐观锁:不加锁,在更新时判断是否有其它线程在修改。加锁:锁可以分为悲观锁---乐观锁。悲观锁:添加同步锁,让线程串行执行。业务开始前,先获取锁,再开启事务。业务结束后:先提交事务,再释放锁。
2024-03-08 22:17:40
637
原创 怎么实现签到打卡功能 实现思路
4,取出来的值就是45,在客户端中对结果45进行逻辑与&运算得到的记录就是10110100。3,假如用户7天的签到记录为 10110100===转成十进制就是 45。1,将用户的每天的签到以0或1 的方式存入redis中。2,存入redis中的数据类型是BitMap类型。5,存入数据之后就可以看出用户哪一天没有签到。
2024-03-05 15:37:46
477
原创 npm ERR! code CERT_HAS_EXPIRED解决证书过期问题
npm cache clean --forcenpm config set strict-ssl falsenpm install
2024-03-05 15:31:45
637
1
原创 Feign失败降级逻辑
Slf4jpublic class AdClientFallbackFactory implements FallbackFactory<FeignClient客户端名称> {//重写里面的方法 直接编写降级逻辑就可以@Override@Overridelog.error("查询异常", throwable);//不要返回NUll 容易造成空指针异常。
2024-03-04 20:13:25
752
原创 延迟任务基于DeyalQueue
一般用于处理订单,将redis中的数据延迟存入数据库,实现异步存储减少DB的压力。基于Redis数据结构模拟JDK的DelayQueue实现。例如RabbitMQ的死信队列。:比较两个延迟任务的延迟时间,判断执行顺序。JDK自带延迟队列,基于阻塞队列实现。DelayQueue的泛型定义。里面有一个方法,用于比较大小。:获取延迟任务的剩余延迟时间。零或者负值表示延迟已经过去。根据源码中的注解可以看出。
2024-03-03 20:38:42
531
原创 微服务获取当前登录用户信息
每个微服务都定义一个Filter,获取用户信息。并使用ThreadLocal 将用户信息放入ThreadLocal中,每个微服务都定义很麻烦,所以我们将Filter抽取出来。
2024-03-02 11:03:36
2666
原创 SpringCloud远程调用Feign
Feign是一个声明式的http客户端底层还是基于HTTP实现,是SpringCloud的核心组件之一,实现了微服务之间的远程调用。
2024-03-02 01:48:17
1252
原创 threadLocal获取当前登录用户id
ThreadLocal 并不是一个Thread,而是Thread的局部变量。ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问。public void set(T value) 设置当前线程的线程局部变量的值。public void remove() 移除当前线程的线程局部变量。public T get() 返回当前线程所对应的线程局部变量的值。
2023-12-31 18:04:55
848
原创 MyBatis-Plus
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
2023-12-20 23:19:38
1059
原创 linux常用命令
ls 目录名 显示指定目录信息 可以省略 ls -a 显示所有文件,包括隐藏文件 隐藏文件是.开头 ls -l 详细显示文件 开头d代表目录,-代表文件 ls -la 上面两个的结合 ll ls -l的简写 pwd 显示当前所在路径 cd 切换目录 cd / 切换到根目录 cd ~ 切换到当前用户的home目录 cd ..切换上一级目录 cat 文件查看文件内容 cat -n 文件 显示文件的行数 more 文件名 分页显示文件 回车向下显示一行 空格
2023-12-17 19:50:57
458
原创 Arrays类
toString(类型[]arr返回数组的内容(类型[]arr起始索引结束索引拷贝数组(指定范围)(类型[]arr, intnewLength拷贝数组generator)把数组中的原数据改为新数据类型[]arr对数组进行排序默认是升序排序。
2023-12-15 22:41:56
441
原创 SpringSecurity
实现security的一个UserDetailsService接口, 重写这个接口里面loadUserByUsername。单一登录, 一个账号只能在同一时间只能在一个地方进行登录, 如果在其他地方进行第二次登录,则剔除之前登录操作。用户登录, 传统基于web开发的项目的登录功能.用户授权, 在系统中用户拥有哪些操作权限。
2023-12-13 10:07:52
445
原创 WebSocket
HTTP是WebSocket是HTTP通信是的,基于请求响应模式WebSocket支持通信HTTP和WebSocket底层都是TCP连接。
2023-12-03 15:14:44
503
原创 Spring Task 定时任务框架
分为6或7个域,由空格分隔开,每个域代表一个含义每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)日和周一般不同时设置通过网站生成cron表达式。
2023-12-03 14:15:39
494
原创 微信支付/
就是需要在商户系统当中调用微信后台的一个下单接口,就是生成预支付交易单。就是支付成功之后微信后台会给推送消息。这两个接口数据的安全性,要求其实是非常高的。微信提供的方式就是对数据进行加密、解密、签名多种方式。要完成数据加密解密,需要提前准备相应的一些文件,其实就是一些证书。12在application中配置。
2023-12-03 11:05:29
785
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人