Spring在抽象类中注入bean

前言

在进行支付宝回调业务开发时,使用到了抽象类。把回调之后的业务处理如增加余额等公共的逻辑写在父类中。至于业务处理之前的验签工作依据子类对象配置的不同交由子类自己实现。

public abstract class AliPayCallBackService{

public abstract boolean rsaCheck();

public String foodAliPayChargeCallBack() {
 rsaCheck();
 processData();
 }

public void processData(){
//处理业务逻辑
 }
}

处理方式:
只需要将Bean注入到抽象类中,并且访问修饰符不能是private,这样子类即可以使用到。Demo如下

public abstract class AliPayCallBackService{

@Autowired
protected AliPayRsaCheckService rsaCheckService;

public abstract boolean rsaCheck();

public String foodAliPayChargeCallBack() {
	 rsaCheck();
	 processData();
 }

	//数据业务逻辑
public void processData(){
	//处理业务逻辑
 }
}
//子类1
@Service
public class AliPayNormalService extends AliPayCallBackService {

    @Override
    public boolean rsaCheck() {
    	//假设rsaCheckService 服务里定义了对普通商户和特约商户的验签方法,这里调用普通验签方法
        rsaCheckService.customRsaCheck();
    }
}
//子类2
@Service
public class AliPaySpecialService extends AliPayCallBackService {

    @Override
    public boolean rsaCheck() {
    	//假设rsaCheckService 服务里定义了对普通商户和特约商户的验签方法,这里调用特约商户验签方法
        rsaCheckService.specialRsaCheck();
    }
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值