Aspect程式設計中@Around註解的使用
面向切面程式設計可以方便我們對系統進行監控。最近正在學習AOP,而@Around使用的應該是最多的。我們可以在切面邏輯中得到連線點的名字和所在類名。方便我們快速定位到系統中出現問題的地方。
例子:
@Component //和sping整合的時候必須要這個註解,否則sping容器解析不到該切面導致切面不能工作
@Aspect
public class AOPConfig {
@Pointcut(value="execution(* spring.aop.Demo.*(..))")
public void pointCut(){
}
@Around("pointCut()")
public Object aroundMethod(ProceedingJoinPoint pjp) throws Throwable {
Object ob = null;
System.out.println(pjp.getSignature().getDeclaringType());
//通過pjp物件獲取Signature物件,該物件封裝了連線點的資訊。比如通過getDeclaringType獲取連線點所在類的 class物件
//getName獲取連線點的名稱即方法名。
System.out.println("---------------------------");
pjp.proceed();
System.out.println("---------------------------");
return ob;
}