增强类型
增强(advice)主要包括如下五种类型
1. 前置增强(BeforeAdvice):在目标方法执行前实施增强
2. 后置增强(AfterReturningAdvice):在目标方法执行后实施增强
3. 环绕增强(MrthodInterceptor):在目标方法执行前后实施增强
4. 异常抛出增强(ThrowsAdvice):在目标方法抛出异常后实施增强
5. 引介增强(IntroductionIntercrptor):在目标类中添加一些新的方法和属性
前置增强和后置增强配置
下面通过实例代码来分析前置增强,假如现在要作日志记录,记录了什么人调用什么方法。前置增强的配置可归纳为如下步骤:
1. 配置代理接口:
package test.aop;
public interface ITarget {
String speak(String name);
}
2. 定义被代理对象
package test.aop;
//被代理对象
public class Target implements ITarget{
private static final String name = "zenghao";
@Override
public String speak(Integer age){
System.out.println("hello I'm " + age + " years old");
return "I'm return value";
}
public static String getName() {
return name;
}
}
3. 配置增强
package test.aop;
import java.lang.reflect.Method;
import org.springframework.aop.MethodBeforeAdvice;
public class BeforeAdvice implements MethodBeforeAdvice {
/**
* @param method:目标类的方法
* args: 目标类的方法入参
* ob