概念:
AOP,面向切面编程,就是当你已经完成,或者更加注意一些核心功能的时候。需要使用的编程过程,这个使用,你会发现,一个核心的业务,是由一个核心功能,和若干个额外服务类型的功能,统一组成的,比如数据验证,再比如日志的记录。
其实在场景中,我们的核心功能是针对数据库的操作,可能是增删过程。而服务类功能,比如记录日志,或者输入内容的验证过程。其实不是非有不可。没有这个功能,核心功能也能正常执行。
spring-AOP 的实现:
切点(pointcut) 在某些个核心方法之前,之后等位置
切点表达式:pointcut = execution(* com.lanou.test.service. * . * (…))
execution(返回值 全包名.类名.方法名 (参数集合))
增强(advisor) 辅助功能
织入(aspect) 将辅助功能,安装在切点上的过程
AOP增强的五种类型:
前置增强:before
后置增强:after
环绕增强:around
异常增强:throw
返回增强:after returning