Activiti6在Springboot下的使用 3 通用complete方法动态调用不同的Service

本文介绍了如何在Activiti6和Springboot应用中,通过一个通用的complete()方法动态调用不同的Service。为了解决每个请求需要定制化处理的问题,提出了一种解决方案:创建基类Service,扩展自定义Service,利用工具类根据流程实例ID和指定Service ID来调用相应Service。这样,通用方法即可满足前端接口的个性化需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

上一节我们编写了一个通用的complete()方法,实现了前端调用接口的通用性,但在实际的业务中,每一个请求我们希望都能有一个定制化的Service去具体处理这一个请求,也就是说,我们希望通用complete()方法能够调用不同的Service。下面提供一种实现该想法的思路。

快速开始

首先,编写一个基类Service

public interface IBaseService {
    String getId();

    BaseDTO complete(Task task);
}

然后引用这个基类并定制自己的Service,我这里定制两个不同的Service(我这方便理解只写了一个System.out 实际情况可以在这个类里扩展)

@Service
public class PersonService1Impl implements IBaseService {
    // 用户任务服务类
    @Autowired
    private TaskService taskService;

    @Override
    public String getId() {
        return "person1";
    }

    @Override
    public BaseDTO complete(Task task) {
        System.out.println("用户1的service");
        taskService.complete(task.getId());
        return null;
    }
}
@Service
public class PersonService2Impl implements IBaseService {
    // 用户任务服务类
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值