You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot整合RabbitMQ报错:找不到ConnectionFactory类型Bean

解决RabbitMQ配置中"No Beans of 'Connectionfactory' type found"错误

这个错误的核心是Spring容器里找不到ConnectionFactory类型的Bean,而你的AmqpTemplate Bean依赖该实例才能创建。以下是具体解决步骤:

1. 引入Spring Boot RabbitMQ Starter依赖

Spring Boot的自动配置需要对应starter包支持,它会自动创建ConnectionFactory等基础RabbitMQ相关Bean。

Maven(pom.xml)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

Gradle(build.gradle)

implementation 'org.springframework.boot:spring-boot-starter-amqp'

2. 配置RabbitMQ连接信息

在application.properties或application.yml中添加RabbitMQ连接参数,自动配置会根据这些参数生成ConnectionFactory:

application.properties示例

spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

application.yml示例

spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest

3. (可选)手动定义ConnectionFactory Bean

如果需要自定义连接规则,也可以手动创建ConnectionFactory Bean替代自动配置:

@Bean
public ConnectionFactory connectionFactory() {
    CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
    connectionFactory.setHost("localhost");
    connectionFactory.setPort(5672);
    connectionFactory.setUsername("guest");
    connectionFactory.setPassword("guest");
    return connectionFactory;
}

完成以上操作后,Spring容器中就会存在ConnectionFactory类型的Bean,AmqpTemplate能正常注入依赖,该错误即可解决。

内容的提问来源于stack exchange,提问作者Makamu Evans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:06:18