Unsatisfied dependency expressed through field 'rabbitTemplate'错误总结
1. 在springboot中整合RabbitMq的过程中,遇到如下错误:(截取部分)
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'helloSender': Unsatisfied dependency expressed through field 'rabbitTemplate';..........
Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.amqp.rabbit.core.RabbitTemplate] from ClassLoader [sun.misc.Launcher$AppClassLoader@4e0e2f2a]
Caused by: java.lang.ClassNotFoundException: com.rabbitmq.client.ConfirmCallback
控制台信息:

出现问题的代码行:
@Autowired
private RabbitTemplate rabbitTemplate;
解决的过程:
(1)猜想应该是RabbitTemplate类没有加载,导致无法注入。看错误信息,要注入RabbitTemplate的bean实体,则是在RabbitAutoConfiguration的内部类中,如下图。

然后我在启动类中手动加入RabbitAutoConfiguration类,从而加载该bean。即在启动类中显示的注入bean:@EnableAutoConfiguration(exclude={RabbitAutoConfiguration.class})。

再重新启动。重新启动后报如下错误:Consider defining a bean of type 'org.springframework.amqp.rabbit.core.RabbitTemplate' in your configuration. 即:

依然没有解决,然后猜想应该不是这个原因。因为类中明明已经加载了该类也有这个bean,但就是不行
最终解决方法:
(2)在网上多次浏览其他类似的错误后,猜想可能是由于包的冲突所造成的。在pom.xml中引入了3.4.1版的amqp-client和spring-boot-starter-amqp,然后点进spring-boot-starter-amqp的包中,发现也引入了amqp-client,其版本是5.4.3。看来是由于包冲突引起的。
将3.4.1版的amqp-client的注释掉,update项目,同时将上面的(1)中启动类的@EnableAutoConfiguration(exclude={RabbitAutoConfiguration.class})也注释。重新再启动,发现不再报错,成功解决。产生该问题的原因就是包冲突了。
Unsatisfied dependency expressed through field 'rabbitTemplate'错误总结的更多相关文章
- 错误: Error creating bean with name 'studentController': Unsatisfied dependency expressed through field 'studentServiceImpl';
详细错误: 严重: Context initialization failed org.springframework.beans.factory.UnsatisfiedDependencyExcep ...
- 出错:Error creating bean with name 'studentServiceImpl': Unsatisfied dependency expressed through field 'studentMapper';
详细错误: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with nam ...
- Error creating bean with name 'student': Unsatisfied dependency expressed through field 'teacher'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating
有 有参构造但是没有无参构造...
- Redis——解决“org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'redisReferenceResolver': Unsatisfied dependency expressed through constructor parameter 0”
错误栈: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ...
- spring异常Unsatisfied dependency expressed through constructor parameter 0
异常信息: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with nam ...
- Android Studio中出现Gradle's dependency cache may be corrupt错误的解决办法
起因 某次打开AS,提示升级AS,升级后,提示升级gradle,选择升级. 结果在升级gradle时耗时较久,没有耐心,点击停止升级gradle, 还是停在那里,然后关闭AS,还是没反应,启动任务管理 ...
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 's.areaname' in 'field list'错误
在使用mybatis框架做查询的时候,出现了如下错误: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown colum ...
- No unique bean of type..... Unsatisfied dependency of type
比如在XXXServiceImpl里面写了aa()方法给别的地方调用 但是自己又调用了自己 在开头写了 @Autowired Private XXX xxx; xxx.aa(); 这样重复调用自己的b ...
- Unknown column '字段名' in 'field list' 错误解决方案
当后台报这个错误的时候,说明实体类中的字段名出错了,解决方案: 1,检查数据库中的字段名与实体类中的字段名是否一致,特别要注意单词字母, 2,检查数据库中的字段是否与实体类中的字段一致.比如数据库中没 ...
随机推荐
- 16、编译安装ansible
16.1.python版本说明: Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点, 其中saltst ...
- POJ 1016 Numbers That Count 不难,但要注意细节
题意是将一串数字转换成另一种形式.比如5553141转换成2个1,1个3,1个4,3个5,即21131435.1000000000000转换成12011.数字的个数是可能超过9个的.n个m,m是从小到 ...
- Linux基础 -03
2.2.3 head-tail 命令 #------head #head pass #查看头部内容,默认前10行 #head -n5 pass #查看头部前5行,使用-n指定 #-------tail ...
- docker安装mysql镜像和容器
下拉镜像 docker pull mysql/mysql-server:5.5 后面的mysql标签是版本号,是可选择的,有: 5.5 5.6 5.7 8.0 创建mysql5.5的容器 docker ...
- springboot整合拦截器如何让其不拦截默认的访问路径
1.注册自定义拦截器2.拦截器3.控制器4.其它说明:我想做控制拦截登陆,将所有的请求拦截下来判断如果当前的session里没有用户名则跳转到登陆页面.问题是目前可以拦截所有请求了,但第一次进入登陆页 ...
- 详解Docker 端口映射与容器互联
详解Docker 端口映射与容器互联 1.端口映射实现访问容器 1.从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的. 当容器中运行 ...
- XCTF reverse_box(idapython)
ida先静态分析,发现有很多a2[1]不知道是什么,就远程动调了一下,发现是我们所输入的字符串,也就是我们所输入的字符串作为索引,通过v4这个数组输出,这题题目的数据漏给了,当时也是一头雾水,后面找了 ...
- 输出数组中出现次数最多且值最大的数字----python
class Solution(): #求最多的数 def find_max(self,list): num = 0 for i in list: print(i) if list.count(i) & ...
- C++ 11 智能指针(shared_ptr)类成员函数详解
C++ 11 模板库的 <memory> 头文件中定义的智能指针,即 shared_ptr 模板类,用来管理指针的存储,提供有限的内存回收函数,可同时与其他对象共享该管理功能. share ...
- k8s之deployment详解
Deployment介绍 为了更好地解决服务编排的问题,k8s在V1.2版本开始,引入了deployment控制器,值得一提的是,这种控制器并不直接管理pod, 而是通过管理replicaset来间接 ...