【参考】《AspectJ in Acton 2nd Edition》
【说明】本文仅总结一些概念
1 连接点模型(join point model)
连接点模型包括两个部分:
joinpoints:程序的执行点。
pointcuts:选择joinpoints的机制。
概念:
join point:系统中可标志的程序的执行点,如方法的调用,字段的访问,for循环或者是if 语句都是joinpoint(AspectJ只支持前两个)
pointcut:用于选择joinpoint和收集连接点上下文的程序元素.
2 连接点分类:
Asper支持一下连接点分类:
1)Method join points:两种:execution和call
方法执行连接点包括:方法体内的所有可执行块
方法调用连接点包括:方法调用处(注意:构成方法参数的那段代码不是该连接点的一部分)
2)Constructor join points:
除了它代表构造方法外,和Method join points 完全类似,也分为call和execution两种
3)Field access join points:分为read access 和 write access两种
注意:AspectJ提供 instance variables和class variables (static fields)的field连接点,不提供局部变量的连接点
4)Exception-handler join points:类型:handler
连接点包括:try-catch语句的整个catch块
5)Class-initiallization join points:类型:class initialization
该连接点包括:类的加载、类的所有static语句块[若有的话]
6)Object-initialization join points:类型:object initialization
连接点包括:从父类构造器的返回到第一个被调用的构造器的结束
用途:提供额外的初始化工作,比如依赖注入等。spring的domain-object依赖注入(@configurable)就是通过这种方式实现的
7)Object pre-initialization:类型:Object pre-initialization
连接点包括:从第一个构造器的调用到父构造器的开始
说明:很少使用
8)advice execution join points:类型:execution
说明:不建议使用
<!--EndFragment-->
分享到:
相关推荐
本学习笔记将深入探讨Spring AOP的核心概念、工作原理以及实际应用。 1. **核心概念** - **切面(Aspect)**:切面是关注点的模块化,包含业务逻辑之外的横切关注点,如日志、事务管理。 - **连接点(Join Point...
### Spring学习笔记:深入理解AOP与Annotation驱动的动态代理 #### 核心知识点解析: 在探讨Spring框架中AOP(面向切面编程)及基于Annotation的动态代理之前,我们首先需要了解AOP的基本概念及其在Spring中的实现...
### 牛人的Spring学习笔记,非常适合初学者 #### 第一课:面向抽象编程 面向抽象编程是一种编程思想,强调在程序设计过程中通过定义抽象层来分离业务逻辑与具体实现细节。这种方式有助于提高软件的可维护性和扩展...
### Spring MVC 学习笔记之 AOP 面向切面编程详解 #### 一、AOP 概念概述 面向切面编程(Aspect Oriented Programming, AOP)是一种编程范式,它允许程序员定义“切面”来封装那些与业务逻辑本身无关的功能,比如...
【Spring 2.5 学习笔记】 在深入学习Spring 2.5的过程中,我们可以了解到一系列关键的概念和技术。首先,面向抽象编程是Spring的核心理念之一,它鼓励开发者编写可重用且松散耦合的代码,通过接口而非具体实现进行...
- **AspectJ切入点语法详解**:AspectJ是Spring支持的AOP语言,用于定义切点表达式,精确匹配需要织入通知的方法。 ### 4. **资源管理** Spring提供了丰富的资源管理能力,如文件、URL、数据库连接等: - **4.1 ...
### Spring2.5 学习笔记关键知识点梳理 #### 搭建Spring的运行环境 - **新建项目**: 使用IDE工具如Eclipse或IntelliJ IDEA创建一个新的Java Web项目。 - **Spring配置文件**: 在项目的`src/main/resources`目录下...
【标题】"Spring学习笔记(十三)"主要涉及的是Spring框架中的AOP(面向切面编程)部分,特别是关于CGLIB动态代理的实现。在Spring中,AOP是一种强大的编程模型,它允许开发者定义“切面”,即关注点的模块化,如日志...
### Spring2.5 学习笔记知识点概览 #### 第一课:面向抽象编程 - **概念理解**:面向抽象编程是一种设计模式,其核心思想是通过定义接口或抽象类来实现程序结构的设计,使具体实现与接口分离,增强系统的灵活性和...
**Spring AOP 学习笔记及实现Demo** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。AOP的主要目的...
在本篇Spring学习笔记中,我们将深入探讨如何利用Spring配置文件来实现面向切面编程(AOP)。面向切面编程是Spring框架的核心特性之一,它允许我们把关注点分离,将横切关注点(如日志、事务管理、权限控制等)与...
《AOP学习笔记》 在软件开发中,面向切面编程(Aspect-Oriented Programming,简称AOP)是一种重要的编程范式,它旨在提高代码的可读性和可维护性,通过将关注点分离来实现模块化。AOP的核心概念是切面、连接点、...
### Spring学习笔记知识点详解 #### 一、Spring学习模块概览 Spring框架作为一个全面而强大的企业级应用开发框架,其内部包含多个模块,这些模块分别针对不同的应用场景和技术领域进行了优化设计。了解这些模块有...
在本篇Spring学习笔记中,我们将深入探讨动态代理模式,并结合Spring框架的实现进行分析演示。动态代理模式是Java编程中一种重要的设计模式,它允许我们在不修改原对象代码的情况下,为对象添加额外的功能或行为。...
在本篇Spring学习笔记中,我们将深入探讨如何利用Spring框架的注解方式来实现面向切面编程(AOP)。AOP是一种编程范式,它允许我们定义横切关注点,如日志、事务管理等,然后将这些关注点模块化并插入到应用程序的多...
### Spring框架案例学习文档笔记知识点总结 #### 面向抽象编程 - **定义**:面向抽象编程是一种软件设计原则,旨在通过抽象层隔离具体实现细节。这种方式有助于提高代码的可维护性和灵活性。 - **实践**:在Spring...
- **@AspectJ注解支持**:Spring支持使用@AspectJ注解来声明切面,这种方式更加简洁且易于理解。 5. **基于XML的配置声明切面** 在不使用注解的情况下,可以在Spring的配置文件中通过和元素来声明切面。这种方式...
AspectJ 提供了一种声明性的方式来定义切面,包括切入点(pointcut)、通知(advice)和织入(weaving)等概念。 切入点是定义切面应用的精确位置,可以是方法调用、异常抛出等事件。通知则是当切入点匹配时执行的...
本笔记主要探讨了如何在Spring应用中使用AOP来实现横切关注点,如日志、事务管理、性能监控等。 首先,理解AOP的基本概念至关重要。AOP的核心是切面(Aspect),它封装了跨越多个对象的行为或责任。切面由两个主要...