spring2.x使用aop方式实现声明式事务,我们都知道非常方便,是一种完全非侵入式的事务实现形式。
同样,spring2.x使用aop方式实现声明式日志记录。
下边是个简单的例子,仅供参考。
第一步:建立通知。
package org.wang.ssh.aop;
import java.lang.reflect.Method;
import org.apache.log4j.Logger;
import org.springframework.aop.AfterReturningAdvice;
/**
* 后置通知
*/
public class LogAfterAdvice implements AfterReturningAdvice{
private static Logger log=Logger.getLogger(LogAfterAdvice.class);
/**
* 实现接口方法
* arg0 返回值,只读
* arg1 目标方法
* arg2 目标方法参数
* arg3 目标对象
*/
public void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable {
// TODO Auto-generated method stub
System.out.println("注册成功!!");
log.info("注册成功!!"+"/t"+arg1.getName()+"/t"+arg3.getClass().getName());
}
}
第二步:在spring的配置文件中加入声明部分
下边的是spring2.0的写法。
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
第三步:spring的配置文件中配置通知类。
<bean id="logAfterAdvice" class="org.wang.ssh.aop.LogAfterAdvice" />
第四步:使用aop声明方式实现日志记录
<!-- 声明方式记录日志--> <script></script>