Spring笔记07(Spring AOP的通知advice和顾问advisor)

此页面是否是列表页或首页?未找到合适正文内容。

Spring笔记07(Spring AOP的通知advice和顾问advisor)

标签:获取运算符性能termrgswsadoverridepacketh

1.Spring AOP的通知advice
01.接口代码:

package cn.pb.dao;

public interface UserDao {
//主业务
String add();
//主业务
void del();
}

02.实现类代码:

package cn.pb.dao;public class UserDaoImpl implements UserDao{ //主业务 public String add() { //模拟异常 //int a=8/0; System.out.println(\”add ok!\”); return \”新增成功!\”; } //主业务 public void del() { System.out.println(\”del ok!\”); }

03.增强通知类:
001.前置增强类:

package cn.pb.advices;
/**
* 前置增强类 实现MethodBeforeAdvice接口
* 在目标对象方法执行之前执行
*/

import org.springframework.aop.MethodBeforeAdvice;

import java.lang.reflect.Method;

public class BeforeAdvice implements MethodBeforeAdvice {
/**
*
* @param method :目标方法
* @param args :目标方法参数
* @param target :目标对象
* @throws Throwable
*/
public void before(Method method, Object[] args, Object target) throws Throwable {
System.out.println(\”前置增强====================》\”);
}
}

002.后置增强类:

package cn.pb.advices;
/**
* 后置增强类 实现AfterReturningAdvice接口
* 在目标对象方法执行之后执行
*/
import org.springframework.aop.AfterReturningAdvice;

import java.lang.reflect.Method;

public class AfterAdvice implements AfterReturningAdvice {
/**
*
* @param target:目标对象
* @param method :目标方法
* @param args :目标方法参数
* @param returnValue :目标方法返回值
* @throws Throwable
*/
public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {
System.out.println(\”后置增强==================》\”);
}
}

003.环绕增强类:

package cn.pb.advices;
/**
* 环绕增强 :
* 在前置通知 之后,
* 后置通知之前执行环绕通知!
*/

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

public class AroundAdvice implements MethodInterceptor {
/*

作者: liuzhihao

为您推荐

返回顶部