AOP是什么东西? AOP 即 面向方面编程,和传统的OO不一样,它主要是用来将一些功能在不修改原系统的结构情况下加到系统中。 一般一个系统有不同的逻辑,功能性的业务一般都直接实现,但是例如日志,事件处理等这些业务逻辑可以通过把他们独立制作成一个服务加到系统中,从而实现的代码的隔离使功能性的业务逻辑代码能够更好的重用。这其中就是AOP的思想,就是把这一个个的Aspect独立出来,使这个功能性业务逻辑代码更“纯洁”。 在Spring 容器中通过动态代理来实现AOP,又通过它的IOC使得我们可以直接在配置文件里用申明的方式给系统添加这些Aspect。
AOP的一些术语:
Cross-cutting concern :就是Aspect切入到业务流程的点。
Aspect: 就是一个个用来横切到业务流程中的服务。
Adivce: Aspect 的具体实现。
JoinPoint :Aspect在应用程序中执行时加入业务流程的点。
Pointcut:就是指出哪些Aspect 织入到程序中的Joinpoint 文件。
Target :一个Advice被应用的对象。