Spring注解@Primary使用概述

如题所述

第1个回答  2022-06-04

在声明bean的时候,通过将其中一个可选的bean设置为首选

描述:在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种。这种情况下 @Primary 的作用就出来了。下面是个简单的使用例子。

当一个接口有多个实现,且通过@Autowired注入属性,由于@Autowired是通过byType形式,用来给指定的字段或方法注入所需的外部资源。Spring无法确定具体注入的类(有多个实现,不知道选哪个),启动会报错并提示:
Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed。

当给指定的组件添加@Primary是,默认会注入@Primary配置的组件。

访问结果如下:

相似回答
大家正在搜