AOP con Spring Framework

Anuncios

Uno de los componentes clave de la Primavera de Marco es la programación orientada a Aspectos (AOP) marco. La programación orientada a aspectos implica descomponer la lógica del programa en distintas partes llamadas así llamadas preocupaciones. Las funciones que abarcan varios puntos de una aplicación se denominan preocupaciones transversales y estas preocupaciones transversales están conceptualmente separadas de la lógica de negocio de la aplicación., Hay varios buenos ejemplos comunes de aspectos como el registro, la auditoría, las transacciones declarativas, la seguridad, el almacenamiento en caché, etc.

la unidad clave de modularidad en OOP es la clase, mientras que en AOP la unidad de modularidad es el aspecto. La inyección de dependencias le ayuda a desacoplar los objetos de la aplicación entre sí y AOP le ayuda a desacoplar las preocupaciones transversales de los objetos a los que afectan. AOP es como disparadores en lenguajes de programación como Perl,. NET, Java y otros.

El módulo Spring AOP proporciona interceptores para interceptar una aplicación., Por ejemplo, cuando se ejecuta un método, puede agregar funcionalidad adicional antes o después de la ejecución del método.

terminologías de AOP

antes de empezar a trabajar con AOP, vamos a familiarizarnos con los conceptos y la terminología de AOP. Estos Términos no son específicos de Spring, sino que están relacionados con AOP.

Sr. No Condiciones & Descripción
1

Aspecto

Este es un módulo que tiene un conjunto de Api proporciona transversales requisitos., Por ejemplo, un módulo de registro se llamaría AOP aspect for logging. Una aplicación puede tener cualquier número de aspectos dependiendo del requisito.

2

Unirse a punto de

Esto representa un punto en su aplicación donde puede plug-in de la AOP aspecto. También puede decir que es el lugar real en la aplicación donde se tomará una acción utilizando Spring AOP framework.

3

Consejos

Esta es la acción a ser tomada ya sea antes o después de la ejecución del método., Esta es una pieza real de código que se invoca durante la ejecución del programa por Spring AOP framework.

4

Pointcut

Este es un conjunto de uno o más puntos de unión donde un asesoramiento debe ser ejecutado. Puede especificar pointcuts usando expresiones o patrones como veremos en nuestros ejemplos de AOP.

5

Introducción

Una introducción le permite añadir nuevos métodos o atributos de las clases existentes.

6

Objetivo

El objeto de ser asesorado por uno o más aspectos., Este objeto siempre será un objeto proxy, también conocido como el objeto aconsejado.

7

Weaving

Weaving es el proceso de vincular aspectos con otros tipos de aplicaciones u objetos para crear un objeto aconsejado. Esto se puede hacer en tiempo de compilación, tiempo de carga o en tiempo de ejecución.

Tipos de Asesoramiento

la Primavera aspectos puede trabajar con cinco tipos de consejos mencionados de la siguiente manera −

Sr.,No Consejos & Descripción
1

antes de

Ejecutar el asesoramiento antes de la una de la ejecución del método.

2

after

Run advice after the method execution, regardless of its outcome.

3

después de devolver

ejecute el Consejo después de la ejecución del método a solo si el método se completa correctamente.

4

después de lanzar

ejecute el Consejo después de la ejecución del método a solo si el método sale lanzando una excepción.,

5

todo

Ejecutar el asesoramiento antes y después de que el mejor método es invocado.

Custom Aspects Implementation

Spring admite el enfoque de estilo de anotación @AspectJ y el enfoque basado en esquemas para implementar aspectos personalizados. Estos dos enfoques se han explicado en detalle en las secciones siguientes.

Sr.,No Approach & Description
1 XML Schema based

Aspects are implemented using the regular classes along with XML based configuration.

2 @AspectJ based

@AspectJ refers to a style of declaring aspects as regular Java classes annotated with Java 5 annotations.

Advertisements

Share

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *