AspectJ and AOP – The black magic of programming
https://blog.jayway.com/2015/09/03/aspectj-and-aop-the-black-magic-of-programming/
AspectJ – Dictionary
Aspects
The easiest way to describe aspects is as a funky Java Class. An Aspect contains other things than a normal class such as; pointcuts, advice, advice bodies and inner-type declarations. An aspect may also contain regular java classes and methods.Pointcuts
Defines, in a multitude of different ways, a point in the code. The pointcut defines when an advice should be run.Advice / Advice Body
Similar to a java method; contains the code that will be run once a pointcut has been triggered.Annotation – Not AOP specific
Consists of meta-data and can be used at methods, classes, parameters, packages and in variables.Annotations can contain an optional list of element-value pairs, such as ‘yourProperty = “someValue”‘ in the example above. In AspectJ we can define a pointcut by looking for annotations. The pointcut and advice can then use the element-value pairs from the annotation.