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

网友投稿 950 2022-11-13


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

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

接口如下:

public interface NoticeService {

public Shttp://tring noticeUser(Long id);

}

两个实现类如下:

@Service

public class NoticeServiceImpl1 implements NoticeService {

public String noticeUser(Long id){

return noticeServe1(id);

}

}

@Service

public class NoticeServiceImpl2 implemhttp://ents NoticeService {

public String noticeUser(Long id){

return noticeServe2(id);

}

}

Controller如下:

@Controller

@RequestMapping("notice")

public class NoticeController{

@Autowired

NoticeService noticeService;

}

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

@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);

}

}

此时再运行即可


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解IDEA中SpringBoot整合Servlet三大组件的过程
下一篇:基于Java SWFTools实现把pdf转成swf
相关文章

 发表评论

暂时没有评论,来抢沙发吧~