Rady (advices) Rada jest funkcjonalnym blokiem kodu, który należy wykonać w momencie napotkania danego punktu przecięcia. Definicja rady w AspectJ składa się z określenia momentu uruchomienia porady, definicji punktu przecięcia oraz ciała rady.

Punkt przecięcia mapuje daną linię w kodzie źródłowym. Rada, w zależności od funkcjonalności, którą chcemy uzyskać może zostać wywołana przed, w czasie, lub po osiągnięciu punktu przecięcia. Aby wybrać pożądany należy wybrać jedną z poniższych rad: before() – wykonywana jest tuż przed wystąpieniem punktu przecięcia. Ten typ rady może służyć na przykład do weryfikacji parametrów metody, zmiany sposobu sterowania etc. after() – wykonywana jest zaraz po wystąpieniu punktu cięcia. Sam moment wystąpienia punktu przecięcia jest nieprecyzyjny, dlatego można wyróżnić dwie sytuacje, które ta rada opisuje: taką w której wykonanie oryginalnego kodu w punkcie cięcia zakończyło się poprawnie (sytuacja taka opisywana jest klauzulą after() returning) taką w której efektem wykonania kodu było zgłoszenie wyjątku (opisywane klauzulą after() throwing) around() – rada ta w odróżnieniu od dwóch poprzednich, posiada możliwość zastąpienia oryginalnego kodu związanego z punktem cięcia treścią porady oraz możliwością zezwolenia lub odmówienia wykonania punktu przecięcia za pomocą polecenia