当前位置: 首页 > 知识库问答 >
问题:

实现两个接口的自动Spring bean

管杜吟
2023-03-14

有没有可能让一个Spring Bean实现两个接口,并能够使用任何一个接口自动连接Bean?

public interface ServiceA {}

public interface ServiceB {}
@RestController
public class ControllerA {

    public ControllerA(ServiceA service) {}

}

@RestController
public class ControllerB {

    public ControllerB(ServiceB service) {}

}

一个实现两个服务的类

@Service
public class ServiceImpl implements ServiceA, ServiceB { }

我正在获取NoSuchBeanDefinitionException:

原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:找不到依赖项[ServiceB]的[ServiceB]类型的合格bean:需要至少有一个bean可以作为此依赖项的自动候选项。依赖项批注:{}

共有1个答案

章锦
2023-03-14

您可以使用@qualifier注释。它可以在注入点与@autowired@inject一起应用,以指定要注入的bean

@Autowired
@Qualifier("iceCream")
public void setDessert(Dessert dessert) {
    this.dessert = dessert;
}

资料来源:《Spring在行动》第四版。

 类似资料:
  • 我是个新手,所以请不要介意我的问题是愚蠢的 我有一个实现两个接口的类 我正在上下文类中定义bean对象,如下所示:

  • 问题内容: 背景: 我有一个Spring 2.5 / Java / Tomcat应用程序。下面的bean在整个应用程序中的许多地方都使用过 以下是新的bean: 第一个bean的配置如下(包含了软件包中的所有bean) 第二个(新)bean是单独配置的 启动服务器时,这(当然)会导致异常: 从试图像这样自动装配bean的类中 因为有两个bean实现相同的接口。 问题: 是否可以配置Bean,以便

  • 我有一个spring 2.5/Java/Tomcat应用程序。下面有一个bean,在整个应用程序的许多地方都使用了这个bean 和以下新bean: 第一个bean是这样配置的(包中的所有bean都包含在内) 第二个(新的)bean是单独配置的 这会导致(当然)启动服务器时出现异常: 嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitio

  • 本文向大家介绍Python接口自动化测试的实现,包括了Python接口自动化测试的实现的使用技巧和注意事项,需要的朋友参考一下 1)环境准备:   接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择,甚至当工具不太适合项目时需要自己进行开发。   在我们项目

  • 类具有可以是两种类类型之一的属性,这就是为什么我试图创建类类型实现的接口 所以我不能使用目标实体,因为这两个类都可以使用。下面是错误堆栈:org.hibernate。AnnotationException:model.User中的未知mappedBy。登录时,引用的属性未知:model.login.user。请帮帮我

  • 本文向大家介绍python+requests接口自动化框架的实现,包括了python+requests接口自动化框架的实现的使用技巧和注意事项,需要的朋友参考一下 为什么要做接口自动化框架 1、业务与配置的分离 2、数据与程序的分离;数据的变更不影响程序 3、有日志功能,实现无人值守 4、自动发送测试报告 5、不懂编程的测试人员也可以进行测试 正常接口测试的流程是什么? 确定接口测试使用的工具--