您的位置:首页 > 编程语言 > Java开发

Spring AOP配置及通知参数

2013-09-06 10:53 357 查看
使用JoinPoint获取:Spring
AOP提供使用org.aspectj.lang.JoinPoint类型获取连接点数据,任何通知方法的第一个参数都可以是JoinPoint(环绕通知是ProceedingJoinPoint,JoinPoint子类),当然第一个参数位置也可以是JoinPoint.StaticPart类型,这个只返回连接点的静态部分。

AOP配置:

<bean id="logAdvice" class="javacommon.log.LogAdvice"></bean>
<aop:config proxy-target-class="true">
<aop:aspect ref="logAdvice">
<aop:before method="busiLog" pointcut="execution(* com..*Dao.*(..))" />
<aop:before method="busiLog" pointcut="execution(* javacommon.base.*Dao.*(..))" />
<aop:after-throwing throwing="ex" method="afterThrowing" pointcut="execution(* *(..))" />
</aop:aspect>
</aop:config>

通知类:

public class LogAdvice{

public void busiLog(JoinPoint jp) throws Throwable {
System.out.println("====================================");
System.out.println(jp.getSignature().getName());
}

public void afterThrowing(JoinPoint jp, Exception ex){
System.out.println("----------------抛异常了………………");
}

}

当被代理类没有接口时,我们必须使用cglib代理,否则会出现类型转换异常等一堆错误:

<aop:config proxy-target-class="true">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: