目录
1. 什么是AOP?
2. 实现AOP技术的框架有哪些?
2.1 Spring框架中的AOP技术
2.2 Aspectj框架
2.3 小结
3. Aspectj框架中的使用AOP的方式
4. Aspectj框架中使用aop时候的一些术语
5. AOP中的注解的详细解释
5.1 @Aspect
5.2 @Before
5.3 @AfterReturning
5.4 @Around
5.5 @AfterThrowing
5.6 @After
5.7 @PointCut
1. 什么是AOP?
答:AOP即面向切面编程,是Aspect Orient Programming,本质上是对动态代理步骤的规范化。
2. 实现AOP技术的框架有哪些?
Spring框架Aspectj框架2.1 Spring框架中的AOP技术
Spring主要在事务处理的时候使用AOP,但是在实际项目开发中,由于Spring自身实现的AOP技术过于笨重,所以我们也用的很少。
2.2 Aspectj框架
首先Aspectj是一个专门做AOP的框架,因此它就显得更专业,用的更广泛,Aspectj框架是Eclipse的一个开源项目。
2.3 小结
因此我们在开发的时候,虽然使用的是Spring框架,但是我们却是在Spring框架中集成的是Aspectj框架的AOP技术,因此我们记得要在Spring的pom文件中添加spring-aspectj依赖。
3. Aspectj框架中的使用AOP的方式
XML配置文件的方式(常用于事务)注解的方式(常用)4. Aspectj框架中使用aop时候的一些术语
切面:我们要给原始的方法重增加的一个新的方法,这个新增加的方法就叫做切面,比如我们给已有的方法增加日志,事务等功能;此时这个日志方法,事务方法就叫做切面。
JoinPot:即连接点,它是目标类中的一个方法,其实就是最原始的方法,谁被添加新的方法,谁就是连接点。
PoinCut:即切入点,即目标类中的所有方法。
Advice:也叫做“通知”,“增强”,(这里是重点,共有5个注解)
切面的执行位置:即对目标类中的那些方法进行增强,这里会使用切面表达式。(重点)。
5. AOP中的注解的详细解释
5.1 @Aspect
5.2 @Before
5.3 @AfterReturning
5.4 @Around
5.5 @AfterThrowing
5.6 @After
5.7 @PointCut
总结:
以上就是Spring框架中的AOP技术最核心常用的内容,可以很清楚的看到,使用了AOP之后,我们对动态代理的规范化更加的标准,但是这也要求你对最原始的JDK动态代理要有更深的认识.