1. AOP是什么
我们的主业务逻辑代码是从上到下的,专业术语叫做OOP。这个时候,如果我们想做一些通用性的逻辑:比如说日志记录,接口的调用时间检查等,切入到各个业务逻辑中,这些横切性的需求和主业务逻辑关系不大。如果我们把代码复制粘贴到每个业务逻辑上去,就会导致代码散落在各个地方,造成难以维护的问题。AOP的技术,就是把主业务逻辑和横切面逻辑进行分离,从而达到解耦的目的。
2.AOP的应用场景
①日志记录 ②权限校验 ③效率检查 ④事务管理
3.SpringAOP的底层技术
①JDK动态代理
②CGLIB继承代理
编译时期的织入,还是运行时期的织入?
初始化对象的时候织入,还是获取对象的时候织入?
4.SpringAOP和AspectJ的关系
SpringAOP用了AspectJ的注解。