Cette section a pour but de présenter les deux concepts AOP et IoC sur lesquels Spring s'appuie.
Le "fonctionnement idéal" serait, pour chaque appel des méthodes d'un service, l'ajout automatique du code qui permet :
La connection récupérée est ensuite utilisée par la méthode d'un service pour tous les appels des DAOs.
La distinction entre l'ouverture d'une connection (pour récupérer uniquement des enregistrements de la base) et l'ouverture d'une connection (pour démarrer une transaction) pourrait s'effectuer sur le nom de la méthode du service appelé. Ainsi on aurrait :
Ce fonctionnement s'apparente à un des principes de la programmation par aspect AOP : le code permettant la gestion des connections (Advice) doit être ajouté avant et après l'appel des méthodes (Point-cut) d'un service (Cross-cutting concerns).
Spring implémente AOP entre autres pour gerer les connections comme décrit ci-dessus. Vous pouvez trouver une introduction à AOP avec Spring sur cet article
@TODO