Bonjour,

dans mon appli j'ai :
- une interface DAO :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
public interface DAO {
...
}
- et une classe d'implémentation "DAOImpl implements DAO" sur laquelle il y a une annotation @Repository et @Transactionnal:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
@Repository
@Transactional
public class DAOImpl implements DAO {
..
}

J'avais donc pensé que Spring créait un bean DAOImpl dans le context...

Pourtant dans une classe quelconque quand je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
@Autowired
private DAOImpl monDao;
ça ne marche pas j'ai une exception comme quoi il n'arrive pas à faire l'autowiring.

Mais si je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
@Autowired
private DAO monDao;
ça fonctionne.

Comme la recherche de @Autowired se fait par type, j'en conclus que le @Repository sur une classe d'implémentation crée un bean du type de l'interface ??
J'ai raté un truc ?
Si non pour quelle raison créer un bean DAO et pas un bean DAOImpl ?

merci de vos lumières.