AOP面向切面编程
1.横切性的关注点(Cross Cutting Concern):是一种独立的服务,它会遍布系统的处理流程之中。
2.方面(Aspect):对横切性关注点的模块化。
3.通知(Advice):对横切性关注点的具体实现。有前置通知(Before advice)、 返回后通知(After returning advice)、 抛出异常后通知(After throwing advice)、后通知(After (finally) advice)、环绕通知(Around Advice)。
4.切点(Pointcut):定义了Advice应用到哪些JointPoint上,对Spring来说是方法的调用。
5.织入(weave):将Advice应用到Target Object上的过程叫织入,Spring支持的是动态织入。
6.目标对象(Target Object):Advice被应用的对象。
7.代理(Proxy):Spring AOP默认使用JDK的动态代理,它的代理是运行时创建,也可以使用CGLIB代理
8.引入(Introduction):可以动态的为类添加方法。
9.连接点(Joinpoint): 在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候。 在Spring AOP中,一个连接点 总是 代表一个方法的执行。 通过声明一个org.aspectj.lang.JoinPoint
类型的参数可以使通知(Advice)的主体部分获得连接点信息。