Presentación de varios proyectos de código abierto del marco JAVA AOP
Un framework AOP simple, dinámico, liviano y potente basado en Java. Es potente y sencillo, lo que facilita la integración de AOP en proyectos nuevos o existentes.
Características clave de AspectWerkz:
1. Corrección de código de bytes en tiempo de ejecución y carga: puede actualizar fácilmente cualquier aplicación (antigua) o adición en tiempo de ejecución o compilación Bibliotecas de clases externas que no sean rt.jar
2. Admite el modelo de punto de unión
3. Admite anotaciones: coincide con JavaDoc y JSR-175, admite anotaciones definidas por el usuario.
4. implementar múltiples archivos de definición de aspectos en aplicaciones implementadas (WEB-INF/aop.xml, META-INF/aop.xml)
5. Introducción/declaración de tipo interno (también conocida como Mixin), es decir, el capacidad de agregar interfaces e implementaciones a clases existentes
6. Definición de anotación: define el tiempo de ejecución. Anotación utilizada por Aspect (preparada para JSR-175)
7. utilizado por Aspect; XML se puede utilizar para refinar, reescribir y analizar definiciones de anotaciones
8. El complemento Aspect Manager puede funcionar con marcos de IoC (como Spring o PicoContainer)
9. Cuatro modelos de implementación de asesoramiento e introducción diferentes (alcance): ¿perJVM (modo único), perClass, perInstance y perThread?
10. El asesoramiento y la introducción se pueden implementar y reflejar dinámicamente en Implementación o reimplementación
.11. Alto rendimiento, utilizando compilación JIT
12. Utilice un lenguaje de patrones detallado para seleccionar el punto de unión
13 Todos los consejos se pueden combinar con Todos los puntos de unión y varios. tipos mixtos de puntos de corte
14. Transformación fuera de línea (se puede usar como posprocesador)
15. ¿Utiliza codificación POJO para aspectos, consejos e introducción?
16. La clase de destino puede ser un POJO normal, es decir, no se requiere ninguna interfaz
17 Admite pasar parámetros a Advice a través de la definición y definir una pila de Advice reutilizable
18. Se agregan metadatos a la clase
19. Uso y configuración simples
Complemento de desarrollo auxiliar de AspectWerkz en Eclipse→
Más información de AspectWerkz
¿JBoss AOP?
JBoss 4.0 viene con un marco AOP. Este marco está estrechamente integrado con el servidor de aplicaciones JBoss, pero también puede ejecutarlo de forma independiente dentro de su aplicación.
Más información sobre JBoss AOP
¿Nanning?
Un marco AOP simple pero también de código abierto de Java. El nombre se escribe en pinyin chino, que es Nanning en Guangxi.
Más información de Nanning
¿JAC?
JAC (Java Aspect Components) es un servidor de aplicaciones. Proporciona una alternativa de código abierto para la plataforma Java 2, el entorno de desarrollo empresarial para el desarrollo de Java (J2EE) y aplicaciones distribuidas basadas en web (publicadas bajo la licencia pública subconvencional GNU). JAC incluye el IDE del Lenguaje de modelo unificado (UML), que aplica de forma modular la lógica empresarial y genera y compila automáticamente clases Java de lógica empresarial pura.
Estas clases, ejecutadas dentro del contenedor JAC, pueden extraerse de un conjunto de preocupaciones transversales técnicas y/o comerciales [1] como persistencia de datos, autenticación, gestión de perfiles, detección de acceso, presentación y equilibrio de carga. JAC, basado en técnicas de programación orientada a aspectos (AOP), separa estas preocupaciones [2] de la lógica empresarial central de la aplicación.
Más información sobre JAC
¿DynamicAspects?
DynamicAspects le permite escribir programación orientada a aspectos en Java utilizando las funciones introducidas en Sun JDK 1.5 "Instrumentación" y " agente", Aspects puede instalar y utilizar la relación entre cada módulo del software durante el tiempo de ejecución.
Más información sobre aspectos dinámicos
¿dynaop?
El marco dynaop utiliza un mecanismo de programación basado en tiempo de ejecución para insertar código AOP en el objeto, en lugar de devolver un objeto con objeto de código de características. AOP será una nueva área del diseño orientado a objetos (OO).
Más información sobre dynaop
¿CAESAR?
CAESAR es un nuevo lenguaje AOP compatible con Java. Todos los programas java pueden usar CAESAR.
Más información CAESAR
PROSE?
PROSE es una herramienta de orquestación (tejido) dinámica (que permite la inserción o extracción de aspectos en tiempo de ejecución). Los aspectos PROSE son objetos Java regulares que se pueden enviar o recibir desde computadoras en la red. Se pueden utilizar firmas para garantizar su integridad. Una vez que se inserta un aspecto en la JVM, la ocurrencia de cualquier evento afectará los resultados de la ejecución del consejo de aspecto correspondiente. Si se retira un aspecto de la JVM, el código del aspecto se descartará y la interceptación correspondiente no volverá a ocurrir. Los aspectos PROSE son objetos Java regulares que se pueden enviar o recibir desde computadoras en la red. Se pueden utilizar firmas para garantizar su integridad. Una vez que se inserta un aspecto en la JVM, la ocurrencia de cualquier evento afectará los resultados de la ejecución del consejo de aspecto correspondiente. Si un aspecto se retira de la JVM, el código del aspecto se descartará y la interceptación correspondiente no volverá a ocurrir. La siguiente figura es el diagrama de arquitectura de PROSE:
Más información de PROSE
¿FastAOP?
FastAOP es un marco AOP de alto rendimiento. El marco se desarrolló originalmente para soportar la creación de perfiles de rendimiento y la supervisión de aplicaciones J2EE a gran escala. Casi no requiere tiempo de ejecución. FastAOP ha sido probado con éxito en servidores de aplicaciones Websphere y Jboss.
Más información sobre FastAOP
¿Plastic?
Plastic es un conjunto de herramientas de AOP construido sobre ASM 3.3. Admite carga básica y creación de instancias de clases. Introducir nuevas propiedades. Capacidad para acceder a propiedades y métodos privados sin utilizar la reflexión. Anular los permisos de acceso a atributos. Inyectar propiedades. Consejos sobre métodos (realice algo de lógica después/antes de llamar al método actual).
Más información sobre plástico