Spring AOP实现方式一——前置注解方式

1.类的注释

@Component("calculatorAnno") //bean的前置注释
public class CalculatorAnno {
	public int add(int i,int j){
		int result = i +j;
		return result;
	}
	public int mil(int i,int j){
		int result = i - j;
		return result;
	}
	public int mul(int i,int j){
		int result = i*j;
		return result;
	}
	public int div(int i,int j){
		int result = i/j;
		return result;
	}

2.Aspect类的注释

@Aspect() //声明类是Aspect
@Component //bean的声明
public class CalculatorAspect {
	
	@Pointcut("execution(* spring.aop.anno.CalculatorAnno.*(..))") //方法的切入点
	public void aspectPointcut(){
		
	}
	@Before("aspectPointcut()") //声明是个事前方法,带入了切入点
	public void logbefor(JoinPoint joinpoint){
		Object[] arr=joinpoint.getArgs();
		System.out.println("befor the method "+joinpoint.getSignature().getName()+" calculating....."+Arrays.asList(arr));
	}

3.xml中的配置

<!-配置需要扫描的包,自动加载声明了的bean->
<context:component-scan base-package="spring.aop.anno"></context:component-scan> 
<!-启用切切面->
	<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
发布了14 篇原创文章 · 获赞 0 · 访问量 4182

猜你喜欢

转载自blog.csdn.net/sky892012/article/details/104417772
今日推荐