Spring-AOP
AOP概述 1.什么是AOP: AOP就是面向切面编程,是Spring框架的核心。 2.AOP底层的实现原理: 动态代理分为: JDK动态代理:基于接口的动态代理 Cglib动态代理:基于类的动态代理 3.AOP作用: 在不更改源码的情况下,去动态的增强对象的一些功能 AOP相关术语 Spring的AOP的实现底层实现就是对于动态代理的实现的代码进行了封装,封装之后我们只需要对需要关注的部分进行代码编写,并且通过配置的方式完成指定的目标的方法的增强。 Target(目标对象):代理目标的对象 Proxy(代理):一个类被AOP织入增强后,就会产生一个代理的结构类 Joinpoint(连接点):指那些被拦截到的点,在spring中指的是方法 Pointcut(切入点):对于连接点进行确定的要被增强的方法就是切入点 Adivce(通知/增强):拦截到连接点后要进行的操作就被称为通知/增强 Aspect(切面):切入点和通知结合后就是切面 Weaving(织入):指把增强应用到目标对象来创建新的对象的过程 AOP开发需要明确的事项 需要编写的代码 编写核心业务代码(目标类的目标方法) 编写切面类,切面类中有通知 在配置文件中使切面类与目标类创建的Bean对象产生织入的关系 AOP会使用那种代理方式 AOP底层会根据创建的目标对象是否有接口而判断是使用JDK方式还是Cglib方式