Content
- 什么是AOP
- AOP术语
- 基于XML的AOP编程
- 基于注解的AOP编程
什么是AOP?
AOP应用背景:由非业务需求(日志)造成的代码混乱
AOP(WHAT):面向切面编程,可降低耦合度,提高代码可重用性。
AOP(HOW):纵向继承—>横向抽取
应用:事务管理
AOP术语
target :目标类。需要被代理(经纪人)的类。
Joinpoint :连接点。可能被拦截到的方法。
Pointcut:切入点。以经被增强的连接点。
advice :通知/增强。增强代码。
Weaving:织入。将增强advice应用到目标对象target从而创建代理对象Proxy的过程。
Proxy:代理类(经纪人)。
Aspect:切入点和通知的结合。
基于XML的AOP编程
导入jar包
aopalliance-1.0.jar
http://central.maven.org/maven2/aopalliance/aopalliance/1.0/
aspectjweaver-1.9.2.jar
https://mvnrepository.com/artifact/org.aspectj/aspectjweaver/1.9.2
前置通知和后置通知
目标类
切面类
aop编程
环绕通知,抛出异常,最终通知
基于注解的AOP编程