l Java-based simple, dynamic, lightweight, powerful AOP framework
l is both powerful and simple, helping to make it easier to integrate AOP to new or existing projects.
l aspectwerkz main features:
Ø Running and loading time bytecode correction: You can easily transform any (old) application or external libraries other than RT.jar at runtime or compile
Ø Support Join Point model
Ø Support Annotation: Match Javadoc and JSR-175, support user-defined Annotation
Ø Support for deploying multiple aspect definition files to deployment applications (web-inf / aop.xml, meta-inf / aop.xml)
Ø Introduction / Internal Type Declaration (also known as Mixin), that is, the ability to add interfaces and implementation to existing classes
Ø Annotation Definition: Define the runtime use of Aspect use Annotation (Preparing for JSR-175)
Ø XML definition: Define the XML used in Aspect; XML can be used to refine, rewrite, and analyze annotation definitions
Ø Plug-in Aspect Manager works with the IOC framework (such as Spring or PicoContainer)
Ø Four different Advice and Introduction deployment models: Perjvm (single mode), Perclass, Perinstance, and Perthread
Ø Advice and Introduction are able to deploy, reverse deployments or redeploy dynamic deployments
Ø High performance, use JIT compilation
Ø Use the Fine-Grading mode language to choose join points
Ø All Advice and all Join Point and various mixed types of Pointcut
Ø Offline transformation (can be used as a post-processor)
Ø Aspect, Advice and Introduction uses Pojo encoding
Ø The target class can be a regular POJO, that is, no interface
Ø Support for Advice and definition reusable Advice Stacks by defining parameters
Ø Metadata is added to the class
Ø Simple usage and configuration