In last few posts on AOP I have mentioned basics of AOP, and some sample implementations- http://kamalmeet.com/category/aop/
I will discuss some formal AOP terms here
JoinPoint: A well defined point in execution of a application. A point where something is happening in the applicaiton. For example when a method is called, an object is instantiation, an exception is being thrown etc.
Advice: The code that is to be executed at a particular joinpoint.
Pointcut: Collection of joinpoints where advice has to be applied.
A very good explanation of joinpoint & pointcut- http://stackoverflow.com/questions/15447397/spring-aop-whats-the-difference-between-joinpoint-and-pointcut
Aspect: Combination of pointcuts and advice, programmed in a class. For example see loginaspect class
Weaving: When do we add aspects to actual code- compile time, run time (Spring), load time (AspectJ)
Target Object: object whose execution flow is modified by an AOP process.
Introduction: Process by which you modify target object, by declaring additional methods or fields.
Types of advice:
Before: Before starting the execution
After: After completion of execution
After Throwing: After an exception is thrown
After Returning: After normal execution (no exception thrown)
Around: Before and After execution