Spring AOP vs AspectJ Comparison:
Aspect-Oriented Programming (AOP) is like Object-Oriented Programming (OOP), the key element in OOP is the class, whereas in AOP – key element is the aspect. Aspects enable the modularization of different concerns(cross-cutting concerns) such as transaction management, logging etc. that cut across multiple types and objects.
It is simpler then AspectJ, because you don’t have to use LTW (load-time weaving) or the AspectJ compiler.
You can change from spring AOP to AspectJ AOP when you use @Aspect annotation based Spring AOP.
It is proxy-based, and uses Proxy pattern and Decorator pattern to create AOP proxy
It is proxy-based, so only you can use method-execution point-cut.
You can’t apply Aspects when calling another method within the same class.
There can be some runtime overhead.
It supports all types of point-cuts. This means you can do anything.
There is some runtime overhead.
You have to be more careful to check if your aspects are weaved to only what you wanted to be weaved.
You need extra build process(using AspectJ Compiler or have to setup load-time weavin)
Latest posts by Gopal Das (see all)
- Salesforce Certified Platform Developer I – Winter ’18 Release Exam - November 23, 2017
- Salesforce Certified Platform App Builder – Winter ’18 Release Exam - November 22, 2017
- Salesforce Certified Administrator – Winter’ 18 Release Exam - November 21, 2017