Spring-AOP

2017-06-20  本文已影响0人  zhanglbjames

AOP的概念

面向切面的编程,切面用于描述分散在对象、类或者函数中的横向关注点,通过分离这些关注点,把解决特定领域问题的代码从业务逻辑中独立出来,他们之间的关系通过切面来维护。效果是保证程序员在不修改源代码的情况下,为系统中业务组件的多个业务方法添加某种通用功能。

组成:

AOP实现原理

分为静态实现和动态实现,动态实现要比动态实现效率高,因为一个动态代理能代理多个实现了指定接口的对象(目标对象),而静态代理,需要为每一个目标对象都写一个代理类,重复代码。

1.静态实现,在编译阶段对程序进行修改,生成代理类,AspectJ
2.动态实现,运行阶段动态生成,在Spring AOP中有两种代理方式,JDK动态代理和CGLIB代理。默认情况下,目标对象实现了接口时,则采用JDK动态代理其接口,反之,采用CGLIB代理。

JDK动态代理示例



AOP的使用示例

示例


execution用来匹配方法


参考链接
其他切入点表达式http://blog.csdn.net/wangpeng047/article/details/8556800

上一篇 下一篇

猜你喜欢

热点阅读