您好我正在尝试使用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);
}
它的作品完美可以有人解释这个吗?
答案 0 :(得分:0)
问题是您在配置类中注入了bean引用。该bean引用是由auto-config提供的。在连接这些字段引用之前,我们无法处理该配置类。但是,我们应该首先“解析”用户配置(即在自动配置开始之前)。
顺便说一句,这与Spring Boot无关。你应该避免注入这样的依赖关系,特别是如果只有@Bean
声明需要这些依赖关系。
换句话说,尽量避免在配置中使用 cycle 。