一、需要编写的内容

  • 编写核心业务代码(目标类的目标方法)
  • 编写切面类,切面类中有通知(增强功能方法)
  • 在配置文件中, 配置织入关系,即将哪些通知与哪些连接点进行结合

二、AOP底层使用哪种代理方式

在spring中,框架会根据目标类是否实现了接口来决定采用哪种动态代理的方式。

  • Target (目标对象) :代理的目标对象
  • Proxy (代理) :一个类被AOP织入增强后,就产生一个结果代理类
  • Joinpoint (连接点) : 所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点(可以被增强的方法)
  • Pointcut (切入点) :所谓切入点是指我们要对哪些Joinpoint进行拦截的定义(已经被增强的方法)
  • Advice (通知/ 增强) :所谓通知是指拦截到Joinpoint之后所要做的事情就是通知
  • Aspect (切面) :是切入点和通知(引介)的结合
  • Weaving (织入) :是指把增强应用到目标对象来创建新的代理对象的过程。spring采用动态代理织入,而

Aspect采用编译期织入和类装载期织入