Le nouvel attribut d'annotation proxyBeanMethods dans Springboot2 : la méthode du proxy bean

Le nouvel attribut d'annotation proxyBeanMethods dans Springboot2, la valeur par défaut est true ;

Vous pouvez modifier le faux extérieur ; par exemple :

@Configuration(proxyBeanMethods = faux)

Cet attribut signifie approximativement :

proxyBeanMethods signifie que si c'est vrai, alors cette classe de configuration sera mandatée, si c'est faux, alors elle ne sera pas mandatée.

L'utilisation dans des applications pratiques est principalement pour la performance; parce que

Lorsque l'objet proxy est utilisé pour appeler sa méthode, il détectera s'il existe un tel composant dans le conteneur. Si c'est le cas, il ne créera pas de nouveau composant et renverra directement le composant existant.
Sinon, un nouveau composant sera créé. Cela garantit que les composants dans le conteneur sont toujours maintenus uniques. Cependant, cela présente également un inconvénient, c'est-à-dire qu'il doit être détecté à chaque fois, ce qui ralentira la vitesse.

Description du mécanisme de proxy de Spring :

  • Notions principales :

CGLIB :
CGLIB (Code Generation Library) est une bibliothèque de génération de bytecode basée sur ASM, qui nous permet de modifier et de générer dynamiquement du bytecode au moment de l'exécution. CGLIB implémente des proxys par héritage ; il peut étendre les classes Java et implémenter des interfaces Java lors de l'exécution.
À partir de SpringBoot 2.x, CGLIB est utilisé pour résoudre les exceptions de conversion de type qui peuvent être causées par l'utilisation de proxys dynamiques JDK. Si vous devez remplacer le proxy dynamique JDK, vous pouvez le modifier via l'élément de configuration spring.aop.proxy-target-class=false, et la configuration proxyTargetClass n'est pas valide.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42551921/article/details/127866035
conseillé
Classement