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

相关推荐
秋天的一阵风4 分钟前
✨ 代码秒跳转、自动补全?全靠 LSP 和 AST!
前端·后端·ai编程
用户2986985301416 分钟前
Java 中的 HTML 解析:从文件读取、URL 抓取到数据提取
java·后端
AskHarries20 分钟前
ZJF.AI:简单、稳定、免费的图片托管与外链分享平台
后端
百珏24 分钟前
流量没暴涨,网关却挂了:Spring Cloud Gateway 从 500 QPS 优化到 4200 QPS
后端·spring cloud·架构
ICT系统集成阿祥26 分钟前
什么是AI ECN?
后端
XovH26 分钟前
Redis 从入门到精通:数据结构Hash 与 List
后端
Cache技术分享27 分钟前
432. Java 日期时间 API - 时间工具 TemporalQuery 详解
前端·后端
XovH29 分钟前
Redis 从入门到精通:初识 Redis
后端
uhakadotcom44 分钟前
在 Python 开发中 transitions 的使用
后端·面试·github
Rust研习社1 小时前
通过手写一个迷你 grep 来学习 Rust 的所有权与借用
后端