面向切面编程概念

面向切面编程术语有:

通知:描述了切面要处理的内容和什么时候去处理。

链接点:应用中的一个方法、异常、或修改某一个字段这些行为都可被看做是链接点。

切点:描述了哪些连接点需要被切入通知。

 

切面:通知和切点的组合这就是切面(也就是何处何时完成某功能)。

引入:可以在无需修改现有的类的情况下,让它们具有新的行为和状态(向现有的类添加新的方法或属性),当然这些新的方法或属性是定义在通知类中。

织入:是切面应用到目标对象并创建新的代理对象的过程,在目标对象的声明周期里有多个点可以进行织入:编译器(切面在目标类编译时被织入,需要AspectJ),类加载期(切面在目标类加载到JVM时被织入,需要AspectJ),运行期(切面在应用运行的某个时候被织入,需要springAOP,一般情况下在织入切面时,AOP容器会为目标对象动态地创建一个代理对象)。

 

总结:通知包含了需要用于多个应用对象的横切行为; 连接点是程序执行过程中能够应用通知的所有点; 切点定义了通知被应用的具体位置(在哪些连接点) 。 其中关键的概念是切点定义了哪些连接点会得到通知。

参考了《spring实战》第四版

posted on 2017-04-08 11:19  代码ok  阅读(319)  评论(0编辑  收藏  举报