Red de conocimiento informático - Aprendizaje de código fuente - Principio del complemento

Principio del complemento

En términos generales, los marcos de código abierto proporcionarán complementos u otras formas de puntos de extensión para que los desarrolladores se amplíen. El beneficio es obvio. En primer lugar, aumenta la flexibilidad del marco. En segundo lugar, los desarrolladores pueden ampliar el marco según las necesidades reales para que funcione mejor. Tomando MyBati como ejemplo, la paginación, división de tablas, monitoreo y otras funciones se pueden realizar basándose en el mecanismo del complemento MyBatis. Debido a que el complemento no tiene nada que ver con la empresa, la empresa no puede percibir la existencia del complemento. Por lo tanto, se pueden implantar complementos sin saberlo y las funciones se pueden mejorar de forma invisible.

Mybati s es un excelente marco ORM de código abierto que se utiliza ampliamente. El marco es muy flexible y proporciona un mecanismo de extensión de complemento simple y fácil de usar en cuatro componentes (Executor, StatementHandler, ParameterHandler y ResultSetHandler). Mybatis opera la capa de persistencia con la ayuda de cuatro objetos centrales. Mybatis admite complementos para interceptar cuatro objetos principales. Para MyBatis, los complementos son interceptores que se utilizan para mejorar la funcionalidad de los objetos principales. Básicamente, las mejoras se implementan con la ayuda de servidores proxy dinámicos subyacentes. En otras palabras, los cuatro objetos principales de MyBatis son objetos proxy.

Los métodos que permiten la interceptación son los siguientes:

Cuando se crean los cuatro objetos principales,

1. Cada objeto creado no se devuelve directamente, sino que se devuelve. la cadena interceptora. complemento todo (procesador de parámetros);

2. Obtener todos los interceptores (las interfaces que los complementos deben implementar llaman a interceptor.plugin(destino);

3. Mecanismo de complemento, podemos usar complementos para crear un objeto proxy para el objeto de destino; AOP (orientado a aspectos) para el cual nuestro complemento

cree objetos proxy para los cuatro objetos principales. El objeto proxy puede interceptar la ejecución de cada uno de los cuatro objetos principales;

Archivo de configuración:

Los resultados de la prueba son los siguientes:

¿El complemento implementa la interfaz InvocationHandler? Entonces, la ejecución final realmente llama al método:

4.