1.问题描述
要求一个bean,但是发现了两个
在这里插入图片描述
说明:
当我们声明一个@bean注解时,没有指定BeanName,Spring使用了默认值

  • spring的IOC容器中 默认一个类型只能有一个bean对象
  • 如果有两个bean对象,需要指定BeanName
    @Bean //这个bean的名字 默认是 方法名字  
    //@Bean(value = "ipKeyResolver")
    public KeyResolver ipKeyResolver(){
        //用哪种方式来限制,就获取这个请求中的参数即可
        //    针对ip限制,就返回ip即可
        return exchange -> Mono.just(exchange.getRequest().getHeaders().getHost().getHostString());//ip
    }

2.解决方法:
使用@Primary
带@Primary注解的优先,表示是主Bean,优先级最高
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐