使用注解实现AOP的方法

AspectJ
   面向切面的框架,它扩展了Java语言,定义了AOP语法,能够在编译器提供代码织入


@Aspect
   @AspectJ 5新增的功能,使用JDK5.0注解技术和整个的AspectJ切点表达式语言描述切面


Spring通过集成AspectJ实现了以注解的方式定增强类,大大减少了配置文件中的工作量


利用轻量级的字节码处理框架asm处理@AspectJ中描述的方法参数名


使用@AspectJ,首先要保证所用的JDK是5.0或者以上版本


使用注解实现日志切面
分析:
   1.使用注解定义前置增强和后置增强实现日志功能
@Aspect
@Before
@AfterReturning
   2.编写Spring配置文件,完成切面织入
<aop:aspectj-autoproxy/>:启用对于@AspectJ注解的支持


使用注解来定义一次抛出增强
   使用@AfterThrowing注解定义异常抛出增强


使用注解来定义最终增强
   使用@After注解定义最终增强


使用注解定义环绕增强
   使用@Around注解定义环绕增强


使用注解方式定义切面可以简化配置工作量


常用注解有@Aspect,@Before,@AfterReturning,@Around,@AfterThrowing,@After等


在配置文件中添加<aop:aspectj-autoproxy/>元素,启用对于@AspectJ注解的支持


Spring在定义切莫时提供了多种选择,应根据项目的具体情况作出选择:
1,如果项目采用JDK5.0或以上版本,可以考虑使用@AspectJ注解方式减少配置的工作量
2,如果不愿意使用注解或者项目采用的JDK版本较低无法使用注解则可以选择使用<aop:aspect>配合普通javaBean的形式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值