后置增强在目标类方法调用后执行。
import java.lang.reflect.Method;
import org.springframework.aop.AfterReturningAdvice;
/**
* @author Chris Yu
*
* @CreateTime 2014-5-12 下午9:57:42
*/
public class GreetingAfterAdvice implements AfterReturningAdvice {
/*
* (非 Javadoc) 在目标类调用之后执行
*
* @see
* org.springframework.aop.AfterReturningAdvice#afterReturning(java.lang
* .Object, java.lang.reflect.Method, java.lang.Object[], java.lang.Object)
*/
@Override
public void afterReturning(Object returnValue, Method method,
Object[] args, Object target) throws Throwable {
/*
* returnValue 为目标实例方法返回的结果。
*
* method 为目标类的方法
*
* args 为目标实例的方法的入参
*
* target 为目标类实例
*
* 假如在后置增强中抛出异常,如果该异常是目标方法声明的异常,则该异常 归并到目标方法中;
* 如果不是目标方法所声明的异常,则spring将其转为运行期异常抛出。
*/
System.out.println("Please enjoy yourself!");
}
import org.springframework.aop.AfterReturningAdvice;
/**
* @author Chris Yu
*
* @CreateTime 2014-5-12 下午9:57:42
*/
public class GreetingAfterAdvice implements AfterReturningAdvice {
/*
* (非 Javadoc) 在目标类调用之后执行
*
* @see
* org.springframework.aop.AfterReturningAdvice#afterReturning(java.lang
* .Object, java.lang.reflect.Method, java.lang.Object[], java.lang.Object)
*/
@Override
public void afterReturning(Object returnValue, Method method,
Object[] args, Object target) throws Throwable {
/*
* returnValue 为目标实例方法返回的结果。
*
* method 为目标类的方法
*
* args 为目标实例的方法的入参
*
* target 为目标类实例
*
* 假如在后置增强中抛出异常,如果该异常是目标方法声明的异常,则该异常 归并到目标方法中;
* 如果不是目标方法所声明的异常,则spring将其转为运行期异常抛出。
*/
System.out.println("Please enjoy yourself!");
}
}
通过实现AfterReturnAdvice来定义后置增强的逻辑,AfterReturningAdvice接口也定义了唯一方法afterReturning(Object returnValue, Method method,
Object[] args, Object target)
Object[] args, Object target)