Intercepteur d'injection
L'intercepteur d'injection fait référence à l'intercepteur transmis à l'aide de paramètres lors de l'utilisation de la méthode d'amélioration ou duang pour améliorer. Inject peut appliquer l’AOP à la cible de manière totalement non invasive.
Si la cible qui doit être améliorée se trouve dans le package jar et que vous ne pouvez pas utiliser l'annotation Before pour configurer l'intercepteur correspondant, vous pouvez utiliser l'intercepteur Inject pour améliorer la cible dans le package jar. Voici un exemple d'intercepteur Inject :
public void injectDemo() { // 为enhance方法传入的拦截器称为Inject拦截器,下面代码中的Tx称为Inject拦截器 OrderService service = Enhancer.enhance(OrderService.class, Tx.class); service.payment(…); }
Le deuxième paramètre Tx.class de la méthode Enhance.enhance() dans le code ci-dessus est appelé l'intercepteur Inject, utilisez ceci La méthode d'amélioration de l'AOP peut être réalisée sur la cible de manière totalement non invasive. Les intercepteurs d'injection sont des concepts au même niveau que les intercepteurs de niveau Global, Classe et Méthode mentionnés précédemment. Comme les intercepteurs de niveau classe, les intercepteurs Inject intercepteront toutes les méthodes de la cible améliorée. L'intercepteur Inject peut être considéré comme un intercepteur de niveau classe, mais l'ordre d'exécution est antérieur à l'intercepteur de niveau classe.