• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SpringBoot同一接口多个实现类配置的实例详解

springboot 搞代码 4年前 (2022-01-09) 13次浏览 已收录 0个评论

SpringBoot项目中可能出现一个接口有多个实现类的情况,如果不进行配置,注入接口时编译器不知道要注入哪个实现类就会报错,因此需要进行配置。以下进行举例:

接口如下:

public interface NoticeService {
  public String noticeUser(Long id);
}

两个实现类如下:

@Service
public class NoticeServiceImpl1 implements NoticeService {
	public String noticeUser(Long id){
		return noticeServe1(id);
	}
}
@Service
public class NoticeServiceImpl2 implements NoticeService {
	public String noticeUser(Long id){
		return noticeServe2(id);
	}
}

Controller如下:

@Controller
@RequestMapping("notice")
public class NoticeController{
	@Aut<strong>本文来源gao@daima#com搞(%代@#码@网2</strong>owired
	NoticeService noticeService;
}

这样直接启动后就会报错,需要在添加@Qualifier注解:

@Controller
@RequestMapping("notice")
public class NoticeController{
	@Autowired
	@Qualifier("impl1")
	NoticeService noticeService;
}

需要调用的实现类中添加标识:

@Service("impl1")
public class NoticeServiceImpl1 implements NoticeService {
	public String noticeUser(Long id){
		return noticeServe1(id);
	}
}

此时再运行即可

到此这篇关于SpringBoot同一接口多个实现类配置的文章就介绍到这了,更多相关springboot多个实现类配置内容请搜索搞代码以前的文章或继续浏览下面的相关文章希望大家以后多多支持搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SpringBoot同一接口多个实现类配置的实例详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址