一、工程结构
这里我的结构有点随意
二、要测试的原对象接口HelloService
package cn.lyj.demoaop;
//1自己写的类(用来测试的)
public interface HelloService {
public void sayHello(String name);
}
三、实现接口HelloService
package cn.lyj.demoaop;
//2代理的对象
public class HelloServiceImpl implements HelloService{
@Override
public void sayHello(String name) {
if (name == null || name.trim() == ""){
System.out.println("参数不存在异常");
throw new RuntimeException("参数不存在");
}
System.out.println("Hello" + name);
}
}
四、设置Aop接口Interceptor
package cn.lyj.demoaop;
//3设置aop通知接口
public interface Interceptor {
public boolean before();//前置通知
public void after(); //后置通知
public Object around(Invocation invocation) throws Throwable; //把原类生成代理类
public void afterReturning(); //没有异常完成事件后通知