AspectWerkz - Plain Java AOP

##### General Information

- Overview
- Features
- License
- Downloads

##### Documentation

- New features in 2.x
- Introduction
- Tutorials
- Implementation issues
- General definition issues
- Annotation definition
- XML definition
- Annnotation driven development
- Deployment
- Weaving
- Dynamic AOP
- AOP container extensions
- Examples
- IDE integration
- JavaDoc
- FAQ

##### Misc.

- Releases & Release notes
- Build & install
- CVS access
- Mailing lists
- Tasks
- Papers, articles & talks

##### Project Documentation

- About AspectWerkz - Plain Java AOP
- Project Info
- Project Reports
- Development Process

## AspectWerkz 2

### Simple, high-performant, dynamic, lightweight and powerful AOP for Java

`AspectWerkz` is a dynamic, lightweight and high-performant AOP framework for Java.

`AspectWerkz` offers both power and simplicity and will help you to easily integrate AOP in both new and existing projects.

`AspectWerkz` utilizes bytecode modification to weave your classes at project build-time, class load time or runtime. It hooks in using standardized JVM level APIs. It has a rich and highly orthogonal join point model. Aspects, advices and introductions are written in plain Java and your target classes can be regular POJOs. You have the possibility to add, remove and re-structure advice as well as swapping the implementation of your introductions at runtime. Your aspects can be defined using either Java 5 annotations, Java 1.3/1.4 custom doclets or a simple XML definition file.

`AspectWerkz` provides an API to use the very same aspects for proxies, hence providing a transparent experience, allowing a smooth transition for users familiar with proxies.

`AspectWerkz` performance is reported in this separate project.

`AspectWerkz` is Free Software. The LGPL-style license allows the use of `AspectWerkz 2.0` in both commercial and open source projects.

Sponsored by BEA Systems

### AspectJ and AspectWerkz join forces

The AspectJ and AspectWerkz projects have agreed to work together as one team to produce a single aspect-oriented programming platform building on their complementary strengths and expertise. Read the announcement published on January 2005.

### Notes on AspectWerkz 1.x

AspectWerkz 1.x documentation and release notes has been moved here. AspectWerkz 1.0 is still actively supported but you are strongly encouraged to migrate to AspectWerkz 2.x.