AOP:把横切关注点与他们所影响的对象之间的解耦
比如说,实际项目开发中,安全模块,事务模块,都是aop实际应用的提现。
你只需要去实现自己具体业务的代码,不用在意安全和事务的代码是如何编写执行。
第一:什么是面向切面编程
如果说只是简单的通用功能的话,最常见的对象技术就是继承。但是,如果在整个应用中只用相同的基累,继承往往会导致一个脆弱的对象体系;而使用委托可能需要对委托对象进行一个复杂的调用。
而且切面提供了除继承和委托之外的另一种可选方案。
第二:aop术语
在切面编程的时候,我们只需要编写这个通用功能,然后声明他在何处应用即可,不去破坏原有的业务。
1.通用功能的类被称作:切面(aspect)
2.声明通用功能:切点(pointcut)
3.声明通用功能与原有业务对接处:连接点(joinpoint)
4.定义切面什么时候使用:通知(advice)
5.切面应用到目标对象并创建代理对象的过程:织入(Weaving)
注:略过了每个术语的详解,直接讲spring对AOP的支持
第三:spring对AOP的支持