- 博客(20)
- 收藏
- 关注
原创 MyBatis-Plus
在继承basemapper时需要指定泛型类,这个类就是实体类,与数据库中的某张表一一对应,通过反射获取这个类的字节码,然后将实体类名作为表明,属性名作为字段名。MyBatis-Plus 是对 MyBatis 的增强,并且完全兼容MyBatis,为什么还要去选择MyBatis呢?在使用mybatis进行查询时,需要编写sql语句指定表名字段名等等,mp不编写sql语句是如何知道这些表名字段名的?1--首先很多公司已有的项目都是基于MyBatis的,进行改造比较麻烦。2--开发团队的使用习惯。
2024-06-13 22:47:54
242
原创 使用redis缓存时面临的问题1--缓存穿透
缓存穿透缓存穿透:缓存穿透是指缓存和数据库中都没有的数据,每次请求都会直接访问数据库,导致缓存失效。频繁的缓存穿透请求会导致对数据库的高并发访问,进而增加数据库负载,甚至可能导致数据库崩溃。
2024-06-08 20:27:27
99
原创 史铁生--病隙碎笔--关于“我”
我发烧了,是指肉身的我我想自杀,是指精神的我要杀死肉身的我我看我这个人也并不怎么样,灵魂的我不满精神的我我要使我的灵魂更加清洁,又是哪一个我要求灵魂的我.......一棵树上落着一群鸟儿,把树砍了,鸟儿也就没有了吗?不,树上的鸟儿没了,但它们在别处。同样,此一肉身,栖居过一些思想、情感和心绪,这肉身火化了,那思想、情感和心绪也就没了吗?不,他们在别处。倘人间的困苦从未消失,人间的消息从未减损,人间的爱愿从未放弃,他们就必定还在。病隙碎笔(五)一生命到底有没有意义?——只要你这样问了,
2024-05-20 01:59:41
1237
原创 sping中依赖注入的实现
依赖注入(Dependency Injection,简称DI)==============依赖注入(Dependency Injection,简称DI)==============简单说就是,把对象的创建交给别人实现。A要创建B对象,通常要去new B。现在不用了,有人创建好了B,直接拿来用就行了DI的常见方式======================================
2024-05-18 11:11:21
302
原创 websocket通信协议
先说明客户端-服务器已经可以通过http进行通信了,为什么还要使用通过websocket,http协议局限:http协议是基于请求-响应的,也就是说只有客户端发起了请求,服务端才能回应,服务端无法主动给客户端发送消息。那这样可不行,服务端想要主动给客户端发送消息怎么办,比如说:后台系统出现问题怎么通知客户端,客户端-服务器想要建立聊天会话怎么实现,订单状态的变更如何让客户端知晓等。
2024-05-17 23:27:09
711
原创 定时任务的实现
定时任务的使用场景=================================定时任务的使用场景=================================1.自动化备份:定时执行备份逻辑,防止数据库数据丢失,保证数据安全2.日志清理:定时清理过期日志文件,以免过多占用磁盘空间3.定时邮件信息发送:比如每个月自动提醒你充话费、每天向你发送一些订阅邮件、4.定期数据同步:每小时从远程拉取最新数据更新数据库使用Spring 提供的@Scheduled。
2024-05-17 11:29:27
140
原创 AOP面向切面编程
Aspect@Component//定义切入点表达式,也就是要拦截哪些方法对他们做增强//这里是拦截service包下的所有类,这个粒度可以随意控制,大到所有的类,小到针对某一个方法//方法执行前先记录当前时间// 执行被拦截的方法//计算方法执行耗时//输出方法执行耗时信息。
2024-05-16 23:31:46
1293
原创 通过jwt令牌使用threadlocal传递用户信息
threadlocal定义--定义什么的看看就行了==================threadlocal定义--定义什么的看看就行了==================是 Java 中的一个类,它提供了线程局部变量。为每个线程分配独立的变量副本来工作。每个线程在访问 ThreadLocal 变量时,都会获取该线程特有的值,而不会影响或被其他线程的值影响。
2024-05-15 23:42:59
357
原创 JWT令牌详解
定义--看看就行了:=================================定义--看看就行了:=================================是一种开放标准(RFC 7519),用于在各方之间以 JSON 对象的形式安全地传输信息。JWT 由三个部分组成:头部(Header)、载荷(Payload)和签名(Signature)。使用场景:========================================
2024-05-15 22:43:43
803
原创 spring cloud --rabbitmq--报错:
2--八九成就是配置出问题了,检查yaml文件rabbitmq的配置,确保正确配置如下信息。如果使用默认的虚拟主机virtual-host选项就不需要配置。或 Failed to check/redeclare auto-delete queue(s).3--如果使用的是nacos管理配置,要确保正确拉取到了rabbitmq的配置。报错原因就是找不到自己配置的交换机。
2024-05-11 21:16:30
188
2
原创 spring cloud--微服务--Feign和RabbitMQ
作用:简化微服务间通信:体现在feign上就是:你(provider)提供服务接口,我(consumer)要使用;体现在rabbitMQ上就是:我(provider)有命令给你(consumer),你(consumer)接收并进行处理区别:feign:同步:需要及时响应rabbitmq:异步:不需要及时处理就像黑马虎哥说的:同步--打电话需要对方立即回应才能进行对话异步--发微信随时能与对方进行对话。有点tcp和udp那味儿了。
2024-05-11 18:01:48
1915
2
原创 服务启动失败--报错:Could not create connection to database server.Attempted reconnect 3 times. Giving up.
不用怀疑,就是数据库连接配置有问题,使用dbms检查一下数据库连接是否成功,不成功就检查jdbc的连接信息是不是写错了,数据库ip呀,用户名密码呀,数据库名称呀;成功就说明项目里的properties或者yaml配置文件写错了,某个字母输错了比如database写成datebase之类的。
2024-05-10 00:08:30
1535
原创 spirng cloud--微服务--报错:[Load balancer does not contain an instance for the service item-service]
当某个微服务进行业务处理时,调用了另一个微服务提供的接口,但是提供接口的服务实例不健康了,就会发生这种错误,负载均衡器就找不到这个实例。查看自己的注册中心客户端,比如nacos,刷新查看一下服务实例是否健康,我这里确实不健康了。重启这个服务,再去nacos注册中心查看确保实例健康,然后成功解决。
2024-05-08 15:13:59
305
原创 微服务--spring cloud--传递用户信息
但是在实际业务处理过程中,通常需要通过openfeign调用其他微服务提供的服务,从外部请求--微服务之间经过网关,所以可以在网关中处理;而在微服务请求--微服务之间,不经过网关。在网关中实现登录校验时,可以将用户信息存到要转发的请求头中,然后再进行转发,这样在路由的服务中就可以从请求头中获取到用户信息然后自己保存下来(比如使用thread local)
2024-05-07 21:22:07
399
原创 微服务--spring cloud--登录校验
请求通过网关时使用Spring Cloud Gateway提供的GlobalFilter接口进行拦截,如果是不需要进行校验的请求(如登录),直接放行。如果是业务请求,获取到请求头中的token令牌,令牌合法则放行,否则返回错误信息。是用于处理所有通过网关的请求和响应的接口。这种类型的过滤器全局生效,适用于所有的路由。
2024-05-07 17:53:22
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人