java spring aop 注解包_Spring AOP 注解配置实例

Spring AOP注解例子

一:导入相关jar包。

首先导入Spring的相关包(这里就不多说了,我这里是3.2.4版本的)

然后导入AOP注解的相关包(不是spring的包)aspectjrt-1.6.7.jar和aspectjweaver-1.6.8.jar和aopalliance.jar

(注意这里最好是1.6.7以上的版本,不然容易出错,折腾了我好久,最后才发现是包的版本问题。

所以这里一定要注意,spring 2.0以后的最好是用1.6.7的版本)

二: 建一个class类作为切入面(这个只是用来演示而已,这个切面是拦截com.afmobi.service包下的所有类的所有方法)

package com.afmobi.frame;

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.stereotype.Component;

@Aspect

@Component

public class AopLogTest {

@Pointcut("execution(* com.afmobi.service.*.*(..))")

public void anyMethod(){

}

@Before("anyMethod()")

public void before() {

System.out.println("---Aop 的 前置通知---");

}

@AfterReturning("anyMethod()")

public void doAfter(){

System.out.println("---Aop 的 后置通知---");

}

@After("anyMethod()")

public void after(){

System.out.println("---Aop 的最终通知(发生异常也会通知)---");

}

@AfterThrowing("anyMethod()")

public void doAfterThrow(){

System.out.println("---Aop 的抛出异常通知---");

}

@Around("anyMethod()")

public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable{

System.out.println("---Aop 的 环绕通知 通知---");

Object object = pjp.proceed();//执行该方法

return object;

}

}

三: 在spring的配置文件里配置这个切面类(这里按spring AOP注解的方式配置,不是xml的方式):

注意:核心AOP注解配置就是和

到此就ok了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值