Comprendre les limitations d'AOP dans les invocations de méthodes
Vous avez rencontré un problème courant où Spring AOP n'est pas invoqué lorsque la méthode2 est appelée dans la méthode1 du même classe. Pour comprendre la raison derrière cela, plongeons dans les concepts fondamentaux de l'AOP au printemps.
Au printemps, les aspects AOP sont appliqués aux objets proxy qui entourent les instances réelles du bean. Lorsque vous obtenez une référence à un bean, ce n'est pas la classe d'origine mais un proxy synthétique qui implémente les interfaces pertinentes et délègue à la classe réelle. Ce proxy ajoute des fonctionnalités, y compris les aspects AOP.
Dans votre cas, vous appelez directement méthode2 à partir de méthode1 au sein de la même classe, en contournant entièrement le proxy du bean. Par conséquent, les aspects AOP définis pour la méthode 2 ne seront pas déclenchés.
Pour résoudre ce problème, vous pouvez envisager plusieurs alternatives :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!