Aop的配置使用

Aop的思想实现是基于代理设计模式的, 动态增加某些功能。

因此在最开始阶段

1 所有需要被织入的类都需要被代理(ProxyFactoryBean)。

2 切面(advisor)的实现中写了切点匹配类的规则和匹配方法的规则

3 增强(advise)需要自己实现。

spring AOP 是如何一步一步被简化的-LMLPHP

ProxyFactory 内部使用了 jdk动态代理或者CGLib代理实现。

第二阶段

正则表达式匹配pointcut,切面中不用写匹配规则了 即不用自己实现切面了。

spring AOP 是如何一步一步被简化的-LMLPHP

第三阶段

根据切面的信息自动创建代理,即不用自己为所需的类配置代理信息了。

到目前为止 我们只需写

1 增强(advise)需要自己实现。

2 在配置文件中写上匹配规则即可。

spring AOP 是如何一步一步被简化的-LMLPHP

配置文件和切入的代码是分开在两个地方的,还有待改进的空间

第四阶段

AnnotationAwareAspectJAutoProxyCreator  可以自动将 使用了@AspectJ的切面  自动织入到 他所匹配的目标切点中。

spring AOP 是如何一步一步被简化的-LMLPHP

spring AOP 是如何一步一步被简化的-LMLPHP

第五阶段使用基于Schema的aop命名空间进行配置

spring AOP 是如何一步一步被简化的-LMLPHP

<aop:aspectj-autoproxy/>

05-11 18:27