aop面向切面编程, 将横切关注点从核心业务逻辑中分离出来,使得代码更加模块化,可维护和可重用.
aop的实现基于动态代理: 指在程序运行时创建代理类和对象,而无需实现编写代码.在java中有两种方式实现动态代理jdk动态代理和CGLB动态代理:
JDK: 基于接口的代理,通过反射机制动态生成代理类和对象
CGLB: 基于继承的代理,通过继承类重写其方法完成动态代理
在AOP中,切面是指横切关注点的抽象表示,它包含了切点和通知两个概念:
切点定义了在何处应用通知的条件,通常是通过表达式或注解来制定特定的方法或代码段.
通知定义了在切点处执行的代码,常见的通知类型包括前置通知、后置通知、环绕通知、异常通知和最终通知。