Não consigo fazer IoC quando dois componentes são da mesma herança?
Exemplo:
abstract class Facade<T> {
// métodos abstratos e não-abstratos
}
@Component
class ClienteFacade extends Facade<ClienteModel> {
// implementações
}
Até aqui tudo bem. Consigo receber meu ClienteFacade no construtor do Controller numa boa.
Ocorreu uma Exception quando adicionei mais uma classe na herança:
@Component
class ImovelFacade extends Facade<ImovelModel> {
// implementações
}
StackTrace:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [br.com.imobiliaria.facade.Facade] is defined: more than one 'primary' bean found among candidates: [clienteFacade, imovelFacade]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.determinePrimaryCandidate(DefaultListableBeanFactory.java:844)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:770)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:771)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:691)
... 77 more
O Server nem sobe nesse caso. Já tentei colocar a anotação na classe Pai mas tbm não funciona.
Será que não consigo fazer IoC quando dois componentes são do mesmo tipo?
Agradeço a atenção.