AspectJ

from Wikipedia, the free encyclopedia

AspectJ is an aspect-oriented extension of Java , which was developed at Xerox PARC and is now an open source project of the Eclipse Foundation . It is available as a stand-alone program and as an Eclipse add-on module.

An AspectJ compiler incorporates aspects into normal Java bytecode to implement the event-based system. Aspects are written in a combination of Java and AspectJ and integrated into Java by an additional pre-class in order to be able to generate standard Java bytecode and thus make AspectJ compatible with Java .

At the moment there are two AspectJ compilers: ajc , which is part of the Eclipse AspectJ project, and abc , an extensible optimizing compiler, which was created by aspectbench.org. AspectJ has also been ported to other programming languages, such as Common Lisp ( AspectL ) and Ruby ( AspectR ). No special compiler is required in these two ports; the aspects can be programmed into the existing object-based system.

The Spring programming framework provides good support for AspectJ.

literature

  • Adrian Colyer, Andy Clement, George Harley: Eclipse AspectJ. Addison-Wesley, 2004, ISBN 0-321-24587-3 .
  • Oliver Böhm: Aspect-oriented programming with AspectJ 5. dpunkt, 2005, ISBN 3-898-64330-1 .

Web links

Individual evidence

  1. Xerox owns the patent US6467086 . AOP / AspectJ, but published the AspectJ source code under the Common Public License , which guarantees some patent rights.