在spring框架下使用抽象类

在处理几个相似业务时,我们往往采用策略模式去构建我们的代码。每个业务定义一个处理类,还会有一些通用的处理,我们可以把他们放到抽象类中。

在Spring框架下,抽象类(abstract)也可以注入Bean。我们的业务类继承这个抽象类,在需要用到这些通用的处理时,调用下即可。

下面举一个例子,用不同武器攻击敌人,并把攻击结果保存到数据库。

接口:

java 复制代码
public interface Attack {

    boolean  attackEnemy(Info  info);
}

抽象类:

typescript 复制代码
@Slf4j
public abstract class AbstractAttack implements Attack{


    @Resource
    private SaveResultService saveResultService;

    /**
     * 通用处理,保存攻击结果
     * @param result
     * @return
     */
    public boolean saveResult(Result result) {

  
         return saveResultService.save(result);
    }
    

}

用手榴弹攻击

scala 复制代码
@Service
public class FragAttack extends AbstractAttack{
    
    
    @Override
    public boolean attackEnemy(Info info) {
        
        //1.启动攻击任务
        
        //2.保存攻击结果
        super.saveResult(result);
        return false;
    }
}

OK,演示到此结束,你学费了吗

相关推荐
FreeBuf_6 小时前
黄金旋律IAB组织利用暴露的ASP.NET机器密钥实施未授权访问
网络·后端·asp.net
张小洛7 小时前
Spring AOP 是如何生效的(入口源码级解析)?
java·后端·spring
why技术8 小时前
也是出息了,业务代码里面也用上算法了。
java·后端·算法
白仑色9 小时前
完整 Spring Boot + Vue 登录系统
vue.js·spring boot·后端
ZhangApple11 小时前
微信自动化工具:让自己的微信变成智能机器人!
前端·后端
Codebee11 小时前
OneCode 3.0: 注解驱动的Spring生态增强方案
后端·设计模式·架构
bobz96511 小时前
kubevirt virtinformers
后端
LuckyLay11 小时前
Django专家成长路线知识点——AI教你学Django
后端·python·django
Java微观世界11 小时前
征服Java三大特性:封装×继承×多态+this/super高阶指南
后端
Java技术小馆11 小时前
RPC vs RESTful架构选择背后的技术博弈
后端·面试·架构