美文网首页
SpringAOP实现

SpringAOP实现

作者: 游牧族人 | 来源:发表于2018-06-24 14:51 被阅读17次

实现方式一:

引入spring项目必须的AOP包,其次还需要引入aspectjweaver包。
定义spring容器管理的切面类:

@Aspect
@Component
public class StudentAspect {
    private static Logger logger = LogManager.getLogger(StudentAspect.class.getName());

     //定义切点
    @Pointcut("execution(* service.StudentService.deleteStudentBySid(..))")   
    public void delStudentBySid(){}
    @Pointcut("execution(* service.StudentService.addStudent(..))")
    public void addStudent(){}

    //定义切面方法  其中JoinPoint为切点对象,我们可以通过此对象取得切点参数值等信息
    //returning定义了切点方法返回值
    @AfterReturning(value = "delStudentBySid()",returning = "returnValue")
    public void delStudentBySidLog(JoinPoint jp,boolean returnValue){
        logger.info("学生: (Id)"+jp.getArgs()[0]+" 已经被删除");
    }

    @AfterReturning(value = "addStudent()",returning = "returnValue")
    public void addStudentLog(JoinPoint jp,boolean returnValue){
        Student student = (Student) jp.getArgs()[0];
        logger.info("新增学生:"+student.getSname());
    }

    @AfterThrowing(value = "delStudentBySid()",throwing = "ex")
    public void delStudentBySidExceptionLog(JoinPoint jp,Exception ex){
        logger.info("学生: (Id)"+jp.getArgs()[0]+" 删除异常");
    }

    @AfterThrowing(value = "addStudent()",throwing = "ex")
    public void daddStudentExceptionLog(JoinPoint jp,Exception ex){
        Student student = (Student) jp.getArgs()[0];
        logger.info("学生: "+student.getSname()+"添加异常");
    }
}

相关文章

  • SpringAOP实现

    实现方式一: 引入spring项目必须的AOP包,其次还需要引入aspectjweaver包。定义spring容器...

  • 六、AOP实现自动的系统日志功能

    一、本课目标 掌握SpringAOP的配置 二、使用SpringAOP实现日志输出 在下面的这个示例中,通过Spr...

  • springAOP纯实现

    接口: 实现类: 接口方法实现类的参数 xml配置 测试: 执行结果: 做切面编程aop的时候报java.lang...

  • SpringAOP实现原理

    1. 概述 SpringAOP(Aspect Orient Programming)是一种设计思想,称为面向切面编...

  • java设计模式-代理模式(proxy pattern)

    简述 提到代理模式,脑海中第一个想到的就是springAop。日常工作中,我们用springAop来实现统一权限管...

  • SpringAOP-2

    SpringAOP实现代理-4 ( AOP config形式) 定义切面类 Aspect.java实现一个通知类...

  • 高级第三天:Spring框架

    主要内容 1.SpringAOP之Aspectj实现方式 2.SpringTX的介绍 3.SpringTX代码实现...

  • 收藏夹日常记录

    在SpringBoot中用SpringAOP实现日志记录功能 - 汪神 - 博客园[https://www.cnb...

  • SpringAOP-Spring中的AOP

    SpringAOP 如果目标对象实现了接口,则默认采用JDK动态代理 如果目标对象没有实现接口,则采用Cglib进...

  • Spring AOP的底层原理

    上一篇 << >> 什么是SpringAop Aop面向切面编程,在方法之前和之后实现处理实现原理:底层使用代理设...

网友评论

      本文标题:SpringAOP实现

      本文链接:https://www.haomeiwen.com/subject/ihzjyftx.html