Spring boot adds configuration class @Configuration and initializes @Bean, both @Resource and @Autowired are null

Capitalized and blackened, I have been looking for a long time for the reason why @Resource and @Autowired cannot rely on the created bean: The method name of @Bean is the name of the created 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;
    }

}

  Test class:

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);
    }

}

result:

Guess you like

Origin blog.csdn.net/u011207400/article/details/130334193