在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,演示到此结束,你学费了吗

相关推荐
用户460381291942 小时前
终于知道AQS是啥东西了
后端
神奇小汤圆4 小时前
SpringBoot 相关的 Skills 全景指南
后端
神奇小汤圆4 小时前
高性能进程内队列 BufferQueue 1.0 版本发布
后端
爸爸6194 小时前
空数据状态与引导:多维度 UI 提示设计
后端
Reart5 小时前
Leetcode 674.最长连续递增序列 (719)
后端·算法
芒鸽5 小时前
HarmonyOS ArkUI Search 搜索框:联想词、历史记录与热门标签
后端
Reart6 小时前
Leetcode 714.买卖股票的最佳时机含手续费(719)
后端·算法
芒鸽6 小时前
HarmonyOS ArkUI RichEditor 富文本编辑器:内联样式、Span 管理与格式工具栏
后端
花开彼岸天~6 小时前
Router 路由管理:pushUrl、replaceUrl、back 与参数传递
后端
geovindu6 小时前
CSharp: Decorator Pattern
开发语言·后端·c#·装饰器模式·结构型模式