- 博客(12)
- 收藏
- 关注
原创 RabbitMQ 七种工作机制全解析
模式特点场景示例简单模式单生产单消费控制台输出,基本通信工作队列单生产多消费,轮询分发发邮件、转码、任务处理发布订阅广播模式,所有队列都接收系统通知、日志广播路由模式RoutingKey 精准匹配日志分类(info/warn/error)通配符模式RoutingKey 通配符匹配多级分类系统(地区.业务.类型)RPC 模式请求-响应,双向通信调用远程服务并获取结果头部模式根据 Header 进行匹配灵活规则匹配,权限动态分发。
2025-06-10 10:25:47
695
原创 SpringBoot 3.x项目下 Mapper 无法正确注入容器问题(Invalid bean definition with name ‘**Mapper‘ defined in file)
在开发MQ项目时,遇到了Mapper无法正确注入容器的问题,报错信息为“Invalid bean definition with name 'bindMapper'”。经过排查,发现所有Mapper都无法正确注入,即使注释掉相关代码和XML配置后问题依旧存在。进一步检查发现,项目使用的MyBatis-Plus依赖版本与Spring Boot 3.x不兼容。通过将依赖更新为适配Spring Boot 3.x的版本后,问题得以解决。总结指出,使用Spring Boot 3.x时,应确保MyBatis-Plus依
2025-05-16 00:31:13
903
2
原创 RabbitMQ快速入门(生产者消费者编写).
在编写代码前需要了解一些关于RabbitMQ的基础知识。RabbitMQ核心概念详解:术语与工作流程全解析-优快云博客。
2025-05-09 11:47:11
1158
原创 MyBatis
MyBatis是⼀款优秀的 持久层 框架,⽤于简化JDBC的开发。• MyBatis本是 Apache的⼀个开源项⽬iBatis,2010年这个项⽬由apache迁移到了google code,并 且改名为MyBatis。2013年11⽉迁移到Github.MyBatis中⽂⽹• 持久层:指的就是持久化操作的层, 通常指数据访问层(dao), 是⽤来操作数据库的简单来说 MyBatis 是更简单完成程序和数据库交互的框架,也就是更简单的操作和读取数据库⼯具。
2025-05-04 14:23:30
1278
原创 Spring学习(IOC)
在 BeanConfig 中新建一个Book对象。从容器中获取Book时报错。报错可以看到找到了两个 book 类,spring不知道加载哪一个,抛出异常。所以如果期望获取到指定的book,我们可以对注入的 book 进行重命名。默认命名虽然也是可以分辨的,但是实际场景中不建议。另起一个名字更加的清晰。修改代码对 Bean 进行重命名:然后分别对book1,和book2进行获取。
2024-11-28 14:58:30
903
原创 学习Spring(IOC)
从上⾯也可以看出来, IoC 容器具备以下优点: 资源不由使⽤资源的双⽅管理,⽽由不使⽤资源的第三⽅管理,这可以带来很多好处。第⼀,资源集 中管理,实现资源的可配置和易管理。第⼆,降低了使⽤资源双⽅的依赖程度,也就是我们说的耦合度。1. 资源集中管理: IoC 容器会帮我们管理⼀些资源(对象等), 我们需要使⽤时, 只需要从 IoC 容器中去取 就可以了2. 我们在创建实例的时候不需要了解其中的细节, 降低了使⽤资源双⽅的依赖程度, 也就是耦合度.房产中介就相当于Spring IoC 容器。
2024-11-26 14:47:42
874
原创 Java Tcp Socket基本使用
一个基于Socket和实现的简单 EchoServer 服务器是一个很好的入门项目,用来理解网络编程的基本概念。EchoServer 的核心功能是接收客户端发送的消息,并原样返回给客户端。这种服务器的工作流程简单明了,非常适合用于学习 Socket 编程的基本概念和流程。EchoServer 是一种基础服务器,接收到客户端消息后,将消息原封不动地发送回客户端。这种应用可以帮助理解服务器和客户端之间的基本数据通信流程。
2024-11-04 14:38:47
1075
原创 Udp EchoServer/Client简单实现
它用于创建一个数据报套接字(DatagramSocket)并绑定到指定的端口号。数据报套接字是 UDP(用户数据报协议)的一个实现,用于无连接的数据传输。它会阻塞当前线程,直到接收到一个数据报包,然后将该数据报包的数据存储在提供的。Echo Server 会接收客户端发送的数据,并将数据原封不动地发回客户端。Echo Client 会向服务器发送数据,并接收服务器发回的相同数据。客户端需要知道服务器的地址和端口,以便将数据报发送到正确的位置。创建一个字节数组作为接收缓冲区,用于存储从服务器接收到的数据报。
2024-10-04 13:11:59
787
1
原创 自学日记--多线程2
但是如果观众(后台进程)想要提前结束比赛,这是不可能的,后台的结束意见不会影响到进程的。但是如果参赛队伍都比完了,那么游戏比赛(进程)也将结束,游戏比赛(进程结束)那么观众(后台线程)也要结束观看(线程)了。如果参赛队伍突然有事,会导致其中一场比赛比不了,但是还有其他队伍,其他队伍没比完的话游戏比赛还得继续(无法结束进程),也就是前台进程如果想要结束进程还得询问其他的前台进程意见。因为线程执行是抢占式的,谁抢到使用权那么谁就先执行,如果优先级越高,那么就表示抢到的几率越高,也就越先执行该线程。
2024-07-09 14:16:09
336
原创 自学日记--多线程
一个可执行程序,运行的时候,操作系统就会创建进程,然后给这个进程分配各种资源(cpu,内存,网络...);但是增加的需要的水杯数量,多出来的水杯这就相当于是进程的创建与销毁花费的资源。也能解决并发编程的问题,但是创建/销毁的开销,比进程要低。如果有多个线程在一个进程中,每个线程,都会有自己的状态,优先级,上下文,记账信息,每个都会各自独立的在cpu上调度执行。针对每个发送请求的客户端,服务端都要创建一个单独的进程,由这个进程给客户端提供服务。但是多进程有一个很大的问题----->>进程太重了,在进程。
2024-07-07 12:10:07
373
1
原创 Vue项目启动报错(ERROR in Conflict: Multiple assets emit different content to the same filename index.html)
在学习vue时,到vue项目启动环节弹出错误警告:这种警告是文件名字冲突引起。
2024-05-01 19:30:41
514
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅