使用我自己的rabbitTemplate与自动配置连接工厂Spring启动奇怪的行为

时间:2015-06-22 06:57:55

标签: rabbitmq spring-boot

您好我正在尝试使用springoconfig connctionFactory of spring boot来定义自己的rabbitTemplate。 首先我试过这个:

@Configuration
@EnableRabbit
public class MyConfiguration {

@Autowired
private ConnectionFactory connectionFactory;

@Bean
public RabbitTemplate rabbitTemplate(){
  RabbitTemplate template = new RabbitTemplate(connectionFactory);
  return template;
}

这不起作用...... 所以我试过这个:

@Configuration
@EnableRabbit
public class MyConfiguration {
@Bean
public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {
    RabbitTemplate template = new RabbitTemplate(connectionFactory);
}

它的作品完美可以有人解释这个吗?

1 个答案:

答案 0 :(得分:0)

问题是您在配置类中注入了bean引用。该bean引用是由auto-config提供的。在连接这些字段引用之前,我们无法处理该配置类。但是,我们应该首先“解析”用户配置(即在自动配置开始之前)。

顺便说一句,这与Spring Boot无关。你应该避免注入这样的依赖关系,特别是如果只有@Bean声明需要这些依赖关系。

换句话说,尽量避免在配置中使用 cycle