Suchen

Definition „AspectJ (Programmiersprache)“ Was ist AspectJ?

| Autor / Redakteur: chrissikraus / Stephan Augsten

AspectJ ist eine nahtlos integrierbare Erweiterung für Java, um aspektorientierte Programmierung zu ermöglichen. Sie wurde im Xerox Palo Alto Research Center entwickelt und ist als autarkes Programm sowie für die Eclipse IDE erhältlich.

Firma zum Thema

Die AspectJ-Erweiterung ist ein Open-Source-Projekt unter Federführung der Eclipse Foundation.
Die AspectJ-Erweiterung ist ein Open-Source-Projekt unter Federführung der Eclipse Foundation.
(Bild: Buddy_Nath / Pixabay )

AspectJ ist ein Open-Source-Projekt, welches Java um Funktionalitäten für die aspektorientierte Programmierung (AOP) erweitert. Genauer erweitert das Modul Java um die Nutzung und komfortable Handhabung von Aspekten, welche eine zentrale Rolle für die AOP spielen. Außerdem ist ein eigener Compiler Teil der Erweiterung. Außerdem kann AspectJ auch in Kombination mit weiteren Frameworks wie dem Spring Framework für die aspektorientierte Programmierung genutzt werden.

Entwickeln mit Aspekten

Bei der aspektorientierten Programmierung stehen Cross-Cutting Concerns im Mittelpunkt: Der Entwickler konzipiert seine Software so, dass zusammengehörige Funktionalitäten als sogenannte Aspekte implementiert werden. Ein Aspekt enthält dabei alle Funktionalitäten aus allen Schichten der Software, welche für eine spezifische Aufgabe benötigt werden, z. B. für die Authentifizierung von Nutzern oder für Logging. Bei der Programmierung von Aspekten mit AspectJ wird eine Kombination aus AspectJ-spezifischen Befehlen und herkömmlichem Java-Code formuliert.

Join Points und Point Cuts in AspectJ

Mit Join Points (Verwebungspunkten) kann festgelegt werden, wie und wo sich die Aspekte ins Programm eingliedern, z. B. wann eine Methode aufgerufen oder eine Variable referenziert wird. Eine Menge von Join Points wird Point Cut genannt. AspectJ bietet ebenfalls eine Implementierung dieser Prinzipien und kann somit gezielt Point Cuts selektieren, um auf spezifische Join Points zuzugreifen.

Abläufe steuern mit Advice

AspectJ bietet mit Advice eine dynamische Möglichkeit, genau zu steuern, welche Aufgaben zu welchem Zeitpunkt an den Verwebungspunkten des jeweiligen Point Cuts geschehen sollen. Der Entwickler kann den Zeitpunkt dabei in drei Schritten steuern: before, around und after. Advice mit dem Zeitpunkt before wird ausgeführt, sobald der spezifizierte Join Point erreicht wurde, aber bevor der Join Point abgehandelt wird. Advice mit dem Zeitpunkt around wird ausgeführt, wenn der Join Point erreicht ist und bietet Kontrolle darüber, wann das Programm mit dem Join Point fortfahren soll. Und Advice mit dem Zeitpunkt after wird ausgeführt, nachdem der Join Point erreicht und die enthaltene Funktionalität ausgeführt wurde.

AspectJ-Compiler

Das Modul bringt einen eigenen Compiler oder Aspect Weaver mit, welcher die AspectJ-spezifischen Anweisungen in Bytecode umwandelt und mit dem übrigen Javacode zusammenführt.

Artikelfiles und Artikellinks

(ID:46376912)