Spring AOP的认识

1.常用到AOP的地方:日志记录、安全检查、事务管理等(避免了在多处编写同样的方法)

2.AOP的三种织入方式:1)编译期,2)类装载器,3)运行期

  两种典型的实现方式:1)AspectJ-- 最全的面向切面框架,2)Spring 的AOP实现-通过引用AspectJ,常与Spring的IOC整合一起使用

  利用动态代理实现AOP--实现了InvocationHandler的接口

  JDK动态代理--通过JdkDynamicProxyFactory来实现

  CGLiB是运行时生成动态字节码

 3.常用的术语:Aspect切面、Joinpoint连接点、Pointcut切入点、Advice增强、Introduction引介、Weaving织入、Interceptor拦截器、Target Object目标对象、AOP Proxy AOP代理、

4常用的Advice:1)MethodBeforeAdvice 2)AfterReturningAdvice 3)ThrowAdvice 4)MethodInterperctor--环绕通知,可实现前三个的功能

5.ProxyFactoryBean装配Bean,返回的对象是一个增强之后的AOP代理。

6.Advisor---PointcutAdvisor,包含了一个Pointcut和Advice。常用的两个Advisor(NameMatchMethodPointcutAdvisor和RegexpMethodPointcutAdvisor).

7.使用自动代理:通过BeanPostProcessor来 实现,常用的实现类:1)BeanNameAutoProxyCreator,根据id和name来自动查找 2)DefaultAdvisorAutoProxyCreator根据容器的Advisor来决定Bean是否可以被代理 3)AspectJInvocationContextEXposingAdvisorAutoProxyCreator,根据AspectJ的语法规则 来决定4)AnnotationAwareAspectJAutoCreator,根据AspectJ的注解来决定。

8.引介Introduction的使用:只能作用于类,可以为一个类动态地添加接口

9.AOP代理的改变:ProxyFactoryBean的frozen属性,来防止修改AOP代理对象

10.@AspectJ实现AOP,Aspect.Advice,Pointcut的声明,通过<aop:aspectj-autoproxy/>来配置AOP的自动装配。

 

posted @ 2013-01-18 17:19  Thriller1  Views(356)  Comments(1Edit  收藏  举报