我在其他类注入的时候出现以下错误
@Autowired
NodeAgentService nodeAgentService;
异常
Description:
Field mibService in com.xxx.xxx.controller.SnmpController required a single bean, but 2 were found:
- mibServiceImpl: defined in file [F:\xxxx\monitorcenter\target\classes\com\xxx\xxx\service\impl\MibServiceImpl.class]
- nodeAgentServiceImpl: defined in file [F:\xxxx\monitorcenter\target\classes\com\xxx\xxx\service\impl\NodeAgentServiceImpl.class]
解决方法:在mibService实现类添加注解
@Primary
springboot环境下遇到这个问题,解决方案参考来源:https://stackoverflow.com/questions/46343560/class-required-a-single-bean-but-2-were-found
public interface OIDService { } @Slf4j @Service public class OIDServiceImpl implements OIDService { } public interface MibService extends OIDService{ } @Service @Slf4j @Primary public class MibServiceImpl extends OIDServiceImpl implements MibService {} public interface NodeAgentService extends MibService{ } @Service @Slf4j public class NodeAgentServiceImpl extends MibServiceImpl implements NodeAgentService { }