Mejor respuesta
1. ¿Qué se entiende por programación orientada a aspectos? (AOP) en Spring? La Programación Orientada a Aspectos funciona como la Programación Orientada a Objetos. En la programación orientada a objetos, la unidad de modularidad es el objeto, pero en la programación orientada a aspectos la unidad de modularidad es el aspecto. Aspect funciona como la modularización de preocupaciones conocidas como preocupaciones transversales en AOP. El marco AOP se puede conectar en primavera. AOP proporciona un servicio empresarial declarativo y permite a los usuarios implementar aspectos personalizados.
2.¿Por qué se usa? Supongamos que queremos registrar todos los métodos entrada y salida. Esto se puede lograr escribiendo declaraciones de registro en cada método al principio y al final. Pero esto requerirá mucho trabajo de código. Hay varias tareas como la seguridad que deben aplicarse en todos los métodos o clases. Estos se conocen como preocupaciones transversales. AOP aborda el problema de las preocupaciones transversales, que serían cualquier tipo de código que se repita en diferentes métodos y normalmente no se puede refactorizar por completo en su propio módulo, como con el registro o la verificación.
3. ¿Cuáles son las diferentes implementaciones de Spring AOP? Las diferentes implementaciones de Spring AOP son: AspectJ Spring AOP JBoss AOP
4. ¿Explica las diferentes terminologías de AOP? Las diferentes terminologías AOP son Joinpoint: Un joinpoint es un punto candidato en la ejecución del programa de la aplicación donde se puede conectar un aspecto. Este punto podría ser un método que se llama, una excepción lanzada o incluso un campo siendo modificado. Estos son los puntos donde el código de su aspecto se puede insertar en el flujo normal de su aplicación para agregar un nuevo comportamiento. Aviso: este es un objeto que incluye invocaciones de API a las preocupaciones de todo el sistema que representan la acción a realizar en un punto de unión especificado por un punto. Pointcut: Un pointcut define en qué puntos de unión se deben aplicar los consejos asociados. El asesoramiento se puede aplicar en cualquier punto de unión compatible con el marco AOP. Por supuesto, no desea aplicar todos sus aspectos en todos los puntos de unión posibles. Los puntos le permiten especificar dónde desea que se apliquen sus consejos. A menudo, usted especifica estos accesos directos utilizando nombres explícitos de métodos y clases o mediante expresiones regulares que definen patrones de nombres de métodos y clases coincidentes. Algunos marcos de AOP le permiten crear puntos de acceso dinámicos que determinan si aplicar consejos basados en decisiones en tiempo de ejecución, como el valor de los parámetros del método. Aspecto: La unidad clave de modularidad en OOP es la clase, mientras que en AOP la unidad de modularidad es el aspecto. Los aspectos permiten la modularización de preocupaciones como la gestión de transacciones que atraviesan múltiples tipos y objetos. Weaving: En Spring AOP hace posible modularizar y separar el registro, los servicios similares a transacciones y aplicarlos de forma declarativa a los componentes. Los aspectos están conectados a objetos en el archivo XML de primavera de la misma forma que JavaBean. Este proceso se conoce como Weaving.
5. ¿Cuál es la diferencia entre Spring AOP y AspectJ AOP? AspectJ es la industria- implementación estándar para la programación orientada a aspectos, mientras que Spring implementa AOP en algunos casos. Las principales diferencias entre Spring AOP y AspectJ son:
- Spring AOP es más simple de usar que AspectJ porque no necesitamos preocuparnos por el proceso de tejido.
- Spring AOP admite Anotaciones de AspectJ, por lo que si está familiarizado con AspectJ, trabajar con Spring AOP es más fácil.
- Spring AOP solo admite AOP basado en proxy, por lo que solo se puede aplicar a los puntos de unión de ejecución de métodos. AspectJ admite todo tipo de cortes de puntos.
- Una de las deficiencias de Spring AOP es que solo se puede aplicar a los beans creados a través de Spring Context.
>> Leer más >>
Responder
Las preguntas sobre Spring AOP girarán en torno a terminologías orientadas a aspectos como Joinpoint, Advice etc. y también el caso de uso para el que utilizó Programación Orientada a Aspectos en el proyecto-
Algunas preguntas son-
¿Qué es AOP?
Run Time vs Compile Time AOP
Diferentes tipos de Spring Advice
Se pueden encontrar más preguntas aquí-