AOP框架三足鼎立:
1. AspectJ
2.Jboss AOP
3.Spring AOP
Spring提供4中AOP支持
1.基于代理的经典AOP
2.纯POJO切面(使用XML)
3.@AspcetJ注解驱动的切面
4.注入式AspcetJ切面
我们需要代理的类:
(一)经典aop
通知:advice
日志、数据库连接等这些公共功能的代码 (切面---à多个类的交叉的功能)
Spring中提供:前置通知 环绕通知 后置通知 异常通知 引入通知
(接口)
MethodBeforeAdvice MethodInteceptor AfterReturningAdvice ThrowsAdvice
其中引入通知是通过配置的,实现自定义切入点,和上述四个通知配合使用
以MethodBeforeAdvice为例
通知可以获得代理的方法和对象和参数,可以对它进行相关处理或过滤
代理对象:ProxyFactoryBean 这是Spring框架提供出来的,我们直接使用,并配置相关属性
通过配置 这个代理对象代理一个或多个接口 还有实际代理的目标对象 然后把通知织入代理对象 ,通过配置 将他们关联起来。