This also means that the merger with AspectWerkz is complete, almost exactly one year after it was announced. Might sound like a long time, but was a huge task to take on, not only the merger with AspectWerkz but full Java 5 support, including generics.
From Adrian Colyer's blog announcement:
AspectJ 5 breaks new ground for the world of AOP in a number of areas including (afaik - please correct me if this is not the case):On top of this the release includes support for AspectWerkz style load-time weaving and excellent IDE support (Eclipse AJDT) with among other features a cross-cutting diff tool.
* The first AOP language to fully support Java 5
* The first implementation of generic aspects (using type
parameters in pointcuts, advice, and ITDs in addition to regular generics features)
* The first aspect language to provide a full reflection API (AjTypeSystem)
* The first aspect language to offer code-style, annotation-style (@AspectJ) and XML based configuration with the same weaver and semantics
Spring is one of the first to embrace AspectJ 5 and the upcoming Spring 2.0 will have native support for running @AspectJ aspects, configuring Spring AOP using the AspectJ pointcut language, dependency injection of aspects along with many other cool features.
You can choose to download either the stand alone compiler or the AJDT IDE toolkit (with an embedded compiler).