zoukankan      html  css  js  c++  java
  • 10. Spring 面向切面

    10.1 产品清单概述

    • 通知(Advice)
      • 前置通知(Before)
      • 后置通知(After)
      • 返回通知(After-returning)
      • 异常通知(After-throwing)
      • 环绕通知(Around)
    • 连接点(Join point)
    • 切点(Poincut)
    • 切面(Aspect)
    • 引入(Introduction)
    • 织入(Weaving)
      • 编译期
      • 类加载期
      • 运行期

    10.1 @Aspect定义切面、定义切入位置

    import org.aspectj.lang.annotation.*;
    
    @Aspect
    public class Notifier {
        @Before("execution(static void *..*.main(String[]))")
        public void before(){
            System.out.println("Application is running!");
        }
    
        @After("execution(static void *..*.main(String[]))")
        public void after(){
            System.out.println("execute end!");
        }
    
        @AfterReturning("execution(static void *..*.main(String[]))")
        public void afterReturning(){
            System.out.println("return end!");
        }
    
        @AfterThrowing("execution(static void *..*.main(String[]))")
        public void afterThrowing(){
            System.out.println("Exception");
        }
    }

    10.2 使用PointCup定义切入点、重复使用切入点

    import org.aspectj.lang.annotation.*;
    
    @Aspect
    public class Notifier {
    
        @Pointcut("execution(static void *..*.main(String[]))")
        public void pointCup(){}
    
        @Before("pointCup()")
        public void before(){
            System.out.println("Application is running!");
        }
    
        @After("pointCup()")
        public void after(){
            System.out.println("execute end!");
        }
    
        @AfterReturning("pointCup()")
        public void afterReturning(){
            System.out.println("return end!");
        }
    
        @AfterThrowing("pointCup()")
        public void afterThrowing(){
            System.out.println("Exception");
        }
    }
  • 相关阅读:
    CSS之定位
    选择器小结
    ASP.NET Web API + Elasticsearch 6.x 快速做个全文搜索
    获取服务端https证书
    使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错
    MVC和WebForm的优缺点比较
    C#之VS开发工具快捷键大全
    Scrum敏捷开发之扫盲篇
    Asp.net 中数据量较小插入数据库
    xml解析
  • 原文地址:https://www.cnblogs.com/black-/p/9095797.html
Copyright © 2011-2022 走看看