Aop面向切面编程(java + Spring 实现)

Aop面向切面编程需要两个知识作为基础: 

代理设计模式:https://www.cnblogs.com/JunDevLog/articles/13251353.html

动态代理:https://www.cnblogs.com/JunDevLog/articles/13267536.html

 

 

第一次听说面对切面编程的人一定觉得很陌生,其实Aop是代理设计模式的拓展要了解面对切面编程主要需要理解以下几个点

  1. 何为切面:从行号看代码就是切面。
  2. 如何面对切面编程:上面说了从行号看代码就是切面,所以面对切面编程,简单来说就是在原有的基础上插入另外一个模块的代码,这明显就是代理设计模式的拿手好戏了。

所以aop其实就是代理设计模式的拓展和在实际上的应用。

虽然切面从理解上来看每一行都一个插入点,但是并不是每个插入点都是有意义的,Spring上将插入点基于被代理类的方法执行,总共分为以下几个(前置,后置,返回,抛出异常).

 

 

 

 

 

以下是基于Spring 下的aop框架的简单使用代码:

切面接口

 

 

 

 

切面

 

 

 

 

 

插入切面的通知

 

 

 

 

测试代码:

 

 

 

 

测试结果输出:

 

 

 

 

 

posted @ 2020-07-08 17:10  君の园  阅读(41)  评论(0)    收藏  举报