J'ai donc un certain nombre de génériques dans Spring 3.2 et, idéalement, mon architecture devrait ressembler à ceci.
class GenericDao<T>{}
class GenericService<T, T_DAO extends GenericDao<T>>
{
// FAILS
@Autowired
T_DAO;
}
@Component
class Foo{}
@Repository
class FooDao extends GenericDao<Foo>{}
@Service
FooService extends GenericService<Foo, FooDao>{}
Malheureusement, avec de multiples implémentations des génériques, le câblage automatique jette une erreur à propos de multiples définitions de haricots correspondants. Je suppose que c'est parce que @Autowired
avant l'effacement des caractères. Toutes les solutions que j'ai trouvées ou imaginées me semblent laides ou refusent inexplicablement de fonctionner. Quelle est la meilleure façon de contourner ce problème ?