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

相关推荐
异常君13 分钟前
Java 高并发编程:等值判断的隐患与如何精确控制线程状态
java·后端·代码规范
异常君13 分钟前
Java 日期处理:SimpleDateFormat 线程安全问题及解决方案
java·后端·代码规范
Java水解15 分钟前
Mysql之存储过程
后端·mysql
用户40993225021215 分钟前
Tortoise-ORM级联查询与预加载性能优化
后端·ai编程·trae
bookcman16 分钟前
Seata 部署手册
后端·架构
都叫我大帅哥16 分钟前
《@SpringBootApplication:Spring Boot的"一键启动"按钮,还是程序员的"免死金牌"?》
java·后端·spring
樟小叶_公众号同名16 分钟前
Kafka运维经验
后端·kafka
lizhongxuan17 分钟前
pgBackRest备份解析
后端
Undoom18 分钟前
Trae 宝藏功能实测:从 Mcp 搭建天气系统,到 AI 重塑 Excel 数据处理
后端
机构师18 分钟前
<rust><iced><GUI>iced中的复合列表部件:combo_box
后端·rust