首页   快速返回

spring aop 与 aspectj的区别和联系     所属分类 spring
AspectJ是一个面向切面的框架,它扩展了Java语言。
AspectJ定义了AOP语法,有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。


spring借鉴AspectJ切面,实现注解驱动的AOP
@Aspect 注解
需要 aspectjweaver.jar
spring 只使用了其注解功能 ,底层实现依然是 Jdk动态代理 和 Cglib 代理




spring aop 几种方式

经典的SpringAOP 
纯POJO切面 
@ASpectJ注解驱动的切面 


经典的SpringAop

使用ProxyFactoryBean创建: 
增强(通知)的类型  
前置通知 org.springframework.aop.MethodBeforeAdvice 
后置通知 org.springframework.aop.AfterReturningAdvice 
环绕通知 org.aopalliance.intercept.MethodInterceptor 
异常通知 org.springframework.aop.ThrowsAdvice


常用 MethodInterceptor

org.springframework.aop.framework.ProxyFactoryBean
target proxyInterfaces interceptorNames


使用RegexMethodPointcutAdvisor 拦截特定的方法

org.springframework.aop.support.RegexpMethodPointcutAdvisor
patterns advice

自动代理 
BeanNameAutoProxyCreator

DefaultAdvisorAutoProxyCreator



纯POJO切面,使用XML配置

上一篇     下一篇
.profile 与 .bash_profile

spring5配置属性读取机制

spring5模块介绍

基于Aspect注解的spring aop 实例

AOP知识点

spring aop 内部方法调用拦截说明