Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed
解决方法:
springboot启动报错如下:
Action:
Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed
Disconnected from the target VM, address: '127.0.0.1:54176', transport: 'socket'
Process finished with exit code 1
因为sringboot通过@Autowired注入接口的实现类时发现有多个,也就是有多个类继承了这个接口,spring容器不知道使用哪一个。
第一种、加@Primary表示某个实现类首选注入
@Configuration("")
public class ActivitiConfig {
@Autowired
ProcessEngineConfiguration processEngineConfiguration;
//流程配置,与spring整合采用SpringProcessEngineConfiguration这个实现
@Bean
@Primary
public ProcessEngineConfiguration processEngineConfiguration(DataSource dataSource,
PlatformTransactionManager transactionManager){
return processEngineConfiguration;
}
}
第二种、@Autowired和@Qualifier(value = "beanName")结合使用
@Configuration
public class ActivitiConfig {
@Autowired
@Qualifier(value = "processEngineConfigurationImpl")
ProcessEngineConfiguration processEngineConfiguration;
}
@Service("processEngineConfigurationImpl")
public class ProcessEngineConfigurationImpl extends ProcessEngineConfiguration{
}