AOP 笔记

http://blog.csdn.net/Intlgj/article/details/5671248 这篇文章里面介绍的非常好,值得阅读。

这里盗用里面的两张图片

【在没有AOP之前是这样的】

【使用AOP之后是这样的】

【横切之后,业务逻辑是这样的】

  

一些小而关键的概念

【切面关注点】,分布于应用多处的功能。如日志,安全等,这种功能从概念上讲是与业务逻辑分离的,但是在使用的时候,往往嵌入到应用的逻辑之中。

【通知 Advice】,切面要完成的“工作”(目标),切面的具体实现。通知同时定义了“工作”何时被执行,决定是在某一个方法之前,之后,之前或之后,还是在该方法抛出异常的时候执行。Spring定义了5中通知

  1、Before -- 在调用某方法之前调用通知

  2、After -- 在调用某方法之后调用通知

  3、After-returning -- 在某方法成功被调用之后调用通知

  4、After-throwing -- 在某方法调用之后调用通知

  5、Around -- 通知包裹了被通知的方法,在被通知的方法之前或之后执行自定义的行为。《---比较绕,好好理解!!

【连接点】在应用被执行的过程中,能够插入一个切面的点。Spring只支持方法连接点。

【目标对象(Target)】就是那些即将切入切面的对象,也就是那些被通知的对象。

【代理对象(Proxy)】将通知应用到目标对象之后被动态创建的对象。

【织入Weaving】就是将切面应用到目标对象而创建代理对象的过程。

http://pandonix.iteye.com/blog/336873/ 可供参考

http://clq9761.iteye.com/blog/1258945

原文地址:https://www.cnblogs.com/plxx/p/4948080.html