Fala Tulio bao??
Vamos supor que voce tenha a seguinte situação:
Code:
@Bean
class MinhaSuperclasse {
}
@Bean
class MinhaSubClasseA {
}
@Bean
class MinhaSubClasseB {
}
@Bean
class Injecao {
private MinhaSuperclasse minhaSuperclasse;
public void setMinhaSuperclasse(MinhaSuperclasse obj){
this.minhaSuperclasse = obj;
}
}
O Spring não conseguirá saber se ele tem que injetar na classe Injecao, um objeto MinhaSuperclasse, MinhaSubClasseA ou MinhaSubClasseB.
Para indicar qual é o objeto desejado, voce deve utilizar a anotação @Ref da seguinte forma:
Code:
@Bean
class Injecao {
private MinhaSuperclasse minhaSuperclasse;
@Ref("minhaSubClasseB") //Será injetado um objeto da classe MinhaSubClasseB
public void setMinhaSuperclasse(MinhaSuperclasse obj){
this.minhaSuperclasse = obj;
}
}
Qualquer duvida é só falar...
Até mais