为什么exchange和queue1会自动匹配到后面方法的参数中?是怎么匹配的呢?

为什么exchange和queue1会自动匹配到后面方法的参数中?是怎么匹配的呢?

package com.imooc.mall.rabbit;

import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class TopicRabbitConfig {

    @Bean
    TopicExchange exchange() {
        return new TopicExchange("bootExchange");
    }

    @Bean
    public Queue queue1() {
        return new Queue("queue1");
    }

    @Bean
    public Queue queue2() {
        return new Queue("queue2");
    }

    @Bean
    Binding bingingExchangeMessage1(Queue queue1, TopicExchange exchange) {
        return BindingBuilder.bind(queue1).to(exchange).with("dog.red");
    }

    @Bean
    Binding bingingExchangeMessage2(Queue queue2, TopicExchange exchange) {
        return BindingBuilder.bind(queue2).to(exchange).with("dog.#");
    }
}
  1. 为什么这里的exchange和queue1   exchange和queue2 会自动匹配到后面的方法bingingExchangeMessage的参数中?

  2. 这里里面的方法有的没有修饰符,是默认的default吗?

  3. 通过@Bean方法加载到sping工厂里,public修饰的方法和不用修饰符的方法有什么不同吗?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
迎风向上乀 2022-11-04 17:33:35

https://blog.csdn.net/qq_45383769/article/details/118748912?spm=1001.2014.3001.5506

好帮手慕小尤 2022-10-18 11:03:33

同学你好,1、队列与交换机通过@Bean创建对象并加入Spring容器中,如下所示:当有多个同类型把参数默认是根据方法名进行注入。所以在此时可以根据对应的名(queue1)绑定到bingdingExchangeMessage()方法的参数中。

https://img1.sycdn.imooc.com//climg/634e1310093c850e07890361.jpg

2、是的,没有添加修饰符默认是default。

3、是没有不同。

祝学习愉快!

  • 提问者 平淡的坎坷 #1

    这个属于注解注入吗?注解注入不是autowair嘛

    2022-10-18 11:12:58
  • 好帮手慕小尤 回复 提问者 平淡的坎坷 #2

    同学你好,1、@Bean是声明创建一个spring bean ,@Autowired是注入一个bean。@Bean用来创建对象并加入Spring容器中,@Autowired是把@Bean创建的对象,注入到依赖的对象里去。

    2、可能是老师没有描述清楚,@Bean 注解的方法,如下所示:其参数将会被自动视为被 @Autowired 所修饰 。注入规则为按类型注入,但因我们创建了多个同类型的对象,所以此时默认根据参数名称进行注入。

    https://img1.sycdn.imooc.com//climg/634e1db0091f445e08490390.jpg

    祝学习愉快!

    2022-10-18 11:30:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师