美文网首页
springboot单抽象方法多实现调用介绍

springboot单抽象方法多实现调用介绍

作者: _Kantin | 来源:发表于2021-11-11 16:29 被阅读0次

背景

  • 在项目开发中,不小心在两个不同的service中重新了同一个抽象类的抽象方法,引起了报错,特此记录一下。
  • 由于我的serviceImpl中的@service并没有标记别名,因此报错的信息如下: No qualifying bean of type 'com.xxxx.apis.service.xxxx.xxxx' available: expected single matching bean but found 2: xxxxGameServiceImpl,xxxxCpsServiceImpl。

代码

  • 其实解决办法就行给service类设置别名,然后在注入抽象类时进行指定
  • 两个简单的实现:

@Service("weixinPay")
public class WeixinPay implements Pay{
    @Override
    public Object pay(Map<String, Object> map){
        return "weixinpay";
    }

@Service("aliPay")
public class AliPay implements Pay{
    @Override
    public Object pay(Map<String, Object> map){
        return "alipay";
    }
}
  • 相关的调用方法
//方法1
@Resource(name="weixinPay")
ShopPay weixinPay;
    
@Resource(name="aliPay")
ShopPay aliPay;

//方法2

@Autowired
@Qualifier("weixinPay")
ShopPay weixinPay;
 
@Autowired
@Qualifier("aliPay")
ShopPay aliPay;

相关文章

  • springboot单抽象方法多实现调用介绍

    背景 在项目开发中,不小心在两个不同的service中重新了同一个抽象类的抽象方法,引起了报错,特此记录一下。 由...

  • Spring中使用@Async异步调用方法

    摘要 异步调用传统SSM项目实现 异步调用SpringBoot实现 Async简介: 异步方法调用使用场景:处理日...

  • PHP设计模式-模板方法

    概述 核心思想 父类是一个抽象类其中可以有多个抽象方法,然后实现的方法用来调用这些抽象方法。目的是为了调用顺序的一...

  • 算法面试:链表转置

    //单链表定义 普通的循环的方法。 //单链表逆置实现 递归调用方法

  • 模板方法模式

    模板方法模式 父类抽象出子类共有的方法,并且自己实现他子类实现各自不同的业务父类实现的方法按照一定的逻辑调用抽象方...

  • Selector 类解析

    1.构造方法和类方法 这是一个抽象类,所有的方法都是抽象方法留给子类实现 2 mac 下面调用 KQueueSel...

  • Java8_教程_01

    JAVA8 教程 默认方法 使用:只需要实现抽象方法,默认方法可以被直接调用 Lambda expressions...

  • scala 调用java通过父类调用子类方法实现

    scala 调用java通过父类调用子类方法实现 java 父类 A 抽象类: java 子类 B 继承A类,并...

  • SpringBoot--日志篇

    日志框架 SLF4j 使用 日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法 2.1...

  • Java16-6 Lock锁

    解决多生产 多消费的效率问题使用Lock接口来解决调用接口需要覆盖所有的抽象方法 所以一般情况下我们使用它已经实现...

网友评论

      本文标题:springboot单抽象方法多实现调用介绍

      本文链接:https://www.haomeiwen.com/subject/ahkgzltx.html