【问题标题】:SpringBoot - activiti - Injecting org.activiti.engine.TaskServiceSpringBoot - activiti - 注入 org.activiti.engine.TaskService
【发布时间】:2021-04-16 12:46:34
【问题描述】:
我已经创建了这个类:
public class ActivitiWorkflowService {
private final TaskService taskService;
..
}
但是我在初始化项目时遇到了这个问题:
No qualifying bean of
type 'org.activiti.engine.TaskService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
【问题讨论】:
标签:
java
spring
spring-boot
alfresco
activiti
【解决方案1】:
我希望你的类有一个构造函数,例如:
public class ActivitiWorkflowService {
private final TaskService taskService;
public ActivitiWorkflowService(TaskService taskService) {
this.taskService = taskService;
}
}
您遇到的错误是因为 Spring 无法自动将此类连接到 ActivitiWorkflowService - 它可能未在 Spring 上下文中定义。
根据您使用的配置,您可以:
使用@Component 或@Service 注释定义类并让@ComponentScan 完成它的工作:
@Component //@Service
public TaskService {
...
}
或者如果你使用@Configuration类定义TaskService类型的bean
@Configuration
public class AppConfig {
@Bean
public TaskService taskService() {
return new TaskService();
}
@Bean
public ActivitiWorkflowService activitiWorkflowService(TaskService taskService) {
return new ActivitiWorkflowService(taskService);
}
}