principio de springaop
Principio: sping aop es una tecnología que puede agregar funciones al programa de manera dinámica y uniforme sin modificar el código fuente mediante precompilación y agentes dinámicos de tiempo de ejecución. Se puede decir que el patrón de diseño de AOP persigue diligentemente el desacoplamiento entre la persona que llama y la persona que llama.
Tecnologías relacionadas por sus principios:
AOP es la continuación de OOP y es la abreviatura de Aspect Oriented Programming, que significa programación orientada a aspectos. Las principales tecnologías de implementación de AOP (aquí AOP se refiere a ideas de programación orientadas a aspectos, no Spring AOP) son Spring AOP y AspectJ. La tecnología subyacente de AspectJ es un proxy estático, es decir, los aspectos se escriben en un lenguaje específico compatible con AspectJ, se compilan mediante un comando y se genera una nueva clase de proxy. Esta clase de proxy mejora la clase empresarial, que se mejora en el momento de la compilación. En comparación con la mejora en tiempo de ejecución que se menciona a continuación, la mejora en tiempo de compilación tiene un mejor rendimiento.
Spring AOP utiliza servidores proxy dinámicos para mejorar los métodos comerciales durante el tiempo de ejecución, por lo que no se generarán nuevas clases. Para la tecnología de proxy dinámico, Spring AOP proporciona soporte para servidores proxy dinámicos JDK y soporte CGLib.
El proxy dinámico JDK solo puede crear instancias de proxy dinámico para interfaces, pero no para clases. Es necesario obtener la información de la interfaz de la clase de destino (usando la tecnología de reflexión de Java), generar una clase de proxy dinámico (código de bytes) que implementa la interfaz de proxy y luego obtener el constructor de la clase de proxy dinámico a través del mecanismo de reflexión y usar el constructor para generar el proxy dinámico. El objeto de instancia de la clase se procesa llamando al método invokeHandler antes de llamar al método específico.