-
Compile Time: Slices are woven into the target class at compile time. This approach requires a special compiler. AspectJ’s weaving compiler weaves slices in this way.
-
Class Loading Period: Cut planes are woven into the JVM when the target class is loaded. This method requires a special ClassLoader, which can enhance the bytecode of the target class before it is introduced into the application. The load-time weaving (LTW) of AspectJ 5 supports weaving cut planes in this way.
-
Run-time: Cut planes are woven in at a certain time when the application is running. In general, AOP container will dynamically create a proxy object for the target object when weaving the tangent plane. Spring AOP is woven in this way