先有一个bean
@Bean
public Queue queueMessages() {
return new Queue("topic.messages");
}
后一个bean需要以前一个bean为参数
可以这样写:
@Bean
Binding bindingExchangeMessage(Queue queueMessage, TopicExchange exchange) {
return BindingBuilder.bind(queueMessage).to(exchange).with("topic.message");
}
形参的参数名必须和前一个bean的方法名一样,如果不一样,就会提示不能自动注入了.
一般的写法是以下通过Qualifier注解:
@Bean
Binding bindingExchangeMessages(@Qualifier("queueMessages")Queue queue , TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with("topic.#");
}
@Bean注解在返回实例的方法上,如果未通过@Bean指定bean的名称,则默认与标注的方法名相同;
@Bean注解默认作用域为单例singleton作用域,可通过@Scope(“prototype”)设置为原型作用域;
Spring Bean依赖注入实践
本文详细介绍了如何在Spring框架中实现Bean之间的依赖注入,通过示例展示了@Bean注解的使用,以及如何通过Qualifier注解来指定特定的Bean实例进行绑定。
2362

被折叠的 条评论
为什么被折叠?



