spring boot 集成rabbitmq 如何申明一个bean
时间: 2024-01-29 16:04:52 浏览: 170
在 Spring Boot 中,我们可以使用 `@Bean` 注解来声明 RabbitMQ 的 `ConnectionFactory` 和 `RabbitTemplate` 对象。以下是一个示例代码:
```java
@Configuration
public class RabbitMQConfig {
@Value("${spring.rabbitmq.host}")
private String rabbitMQHost;
@Value("${spring.rabbitmq.port}")
private int rabbitMQPort;
@Value("${spring.rabbitmq.username}")
private String rabbitMQUsername;
@Value("${spring.rabbitmq.password}")
private String rabbitMQPassword;
@Bean
public ConnectionFactory connectionFactory() {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
connectionFactory.setHost(rabbitMQHost);
connectionFactory.setPort(rabbitMQPort);
connectionFactory.setUsername(rabbitMQUsername);
connectionFactory.setPassword(rabbitMQPassword);
return connectionFactory;
}
@Bean
public RabbitTemplate rabbitTemplate() {
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory());
return rabbitTemplate;
}
}
```
在上面的代码中,我们使用 `@Configuration` 注解来标记这是一个配置类。然后,我们使用 `@Value` 注解来注入配置文件中的 RabbitMQ 相关参数。接着,我们使用 `@Bean` 注解来声明 `ConnectionFactory` 和 `RabbitTemplate` 对象,并在 `RabbitTemplate` 对象中注入 `ConnectionFactory` 对象。这样,我们就可以在其他类中使用 `RabbitTemplate` 对象来发送和接收消息了。
阅读全文