大写加黑,找了好久@Resource和@Autowired都依赖不到创建的bean的原因:@Bean的方法名即是创建的Bean名称
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.TaskService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; @Configuration
public class ActivitiConfig { @Bean
public RepositoryService repositoryService() {
System.out.println("初始化RepositoryService");
RepositoryService repositoryService = ProcessEngines.getDefaultProcessEngine().getRepositoryService();
System.out.println(repositoryService);
return repositoryService;
} @Bean
public TaskService taskService() {
System.out.println("初始化TaskService");
TaskService taskService = ProcessEngines.getDefaultProcessEngine().getTaskService();
System.out.println(taskService);
return taskService;
} }
测试类:
import org.activiti.engine.RepositoryService;
import org.activiti.engine.TaskService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; @SpringBootTest
@RunWith(SpringRunner.class)
public class DemoApplicationTests {
@Autowired
private RepositoryService repositoryService;
@Resource
private TaskService taskService; @Test
public void getProcessEngine() {
System.out.println("获取RepositoryService:" + repositoryService);
System.out.println("获取TaskService:" + taskService);
} }
结果: