1、前言
AOP,全名Aspect Oriented Programming,中文名叫面向切面编程。
2、理解
由于个人的想象力有限,所以举的例子不免有些牵强。好了,在理解AOP之前,先理解以下几种名词。
切面(aspect):用来切插业务方法的类。可以理解为da xiao 阴唇。对于阴唇每个地方都可以理解为是一个横切性关注点。简单的来说,就是插入时da xiao阴唇进行拦截,拦截后要做些什么事(例如可以进行日志记录),这些都算是横切性关注点。
连接点(joinpoint):是切面类和业务类的连接点,其实就是封装了业务方法的一些基本属性,作为通知的参数来解析。可以理解为香蕉最顶的那点,也就是被我们拦截到的点。所以被拦截的香蕉的顶点我们可以称之为接入点。
通知(advice):在切面类中,声明对业务方法做额外处理的方法。
可以理解为拦截后我们所要做的事情如呻吟。当你下体的daxiaoyinchun触碰到硬物,你要做的事件是呻吟?还是呻吟?
切入点(pointcut):业务类中指定的方法,作为切面切入的点。其实就是指定某个方法作为切面切的地方。可以理解为g dian。你香蕉最顶的点顶到你high的那个点作为切入点。
目标对象(target object):被代理对象。
AOP代理(aop proxy):代理对象。
3、分析
public interface Human{
void eat();
}
public class Man implements Human{
public void eat(){
System.out.println("eat something");
};
}
@Aupect
public class ManEat{
public ManEat(){}
@Pointcut("execution(* *.eat())")
public void eatpoint(){}
@Before("eatpoint()")
public void beforeEat(){
System.out.println("before eat");
}
@AfterReturning("eatpoint()")
public void afterEat(){
System.out.println("after eat");
}
}