Error for ServeChild1Controller: No unique bean of type [com.service.ParentService] is defined: expected single matching bean but found 2 child1service, child2service
This error occurs if there are two beans implementing the same interface and referenced.
public interface ParentService{}
@Service("child1service")
public class Child1 implements ParentService{}
@Service("child2service")
public class Child2 implements ParentService{}
public class ServeChild1Controller extends AbstractController{
@Autowired
public ServeChild1Controller(@Qualifier("child1service") ParentService child1service){
super(child1service)
}
The following problem can be resolved using @Qualifier
@Service("child1service")
@Qualifier("child1service")
public class Child1 implements ParentService{}
@Service("child2service")
@Qualifier("child2service")
public class Child2 implements ParentService{}