文件结构与jar包
接口类MathI
package com.atguigu.spring.aop;
public interface MathI {
public int add(int i,int j);
public int sub(int i,int j);
public int mul(int i,int j);
public int div(int i,int j);
public void Descript();
}
接口实现类MathImpl
package com.atguigu.spring.aop;
import org.springframework.stereotype.Component;
@Component
public class MathImpl implements MathI {
@Override
public int add(int i, int j) {
// TODO Auto-generated method stub
int result=i+j;
return result;
}
@Override
public int sub(int i, int j) {
// TODO Auto-generated method stub
int result=i-j;
return result;
}
@Override
public int mul(int i, int j) {
// TODO Auto-generated method stub
int result=i*j;
return result;
}
@Override
public int div(int i, int j) {
// TODO Auto-generated method stub
int result=i/j;
return result;
}
@Override
public void Descript() {
System.out.println("加减乘除");
// TODO Auto-generated method stub
}
}
切面类MyLoggerAspect
package com.atguigu.spring.aop;
import java.util.Arrays;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@Component //交于Spring管理
@Aspect //标注当前类为切面
@Order(1) //确定切面作用的优先级,值越小优先级越高 默认值为INT最大值
public class MyloggerAspect {
//类里的方法叫做通知
@Pointcut(value="execution(* com.atguigu.spring.aop.*.*(..))")
public void test(){
}
/**
* @Before&#x