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,优先级最高