【参考】《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-->
分享到:
相关推荐
Aop框架AspectJ 的语法介绍JPoint Pointcut Signature
Aspectj5学习文档,Aspectj5学习文档,Aspectj5学习文档,大家一起来学习
aspectj-1.8.10.jar org.aspectj.lang.annotation.* org.aspectj.lang.annotation.Pointcut
spring-framework-3.1.1.RELEASE jdk1.7 环境下 can't find referenced pointcut 问题解决 换了对应的jar文件即可 aspectjrt.jar aspectj-1.6.6.jar aspectjweaver.jar
aspectj-1.7.0.jar aspectj的包
Aop之AspectJ解读demo,主要是讲解Aspectj使用框架以及使用场景入门实例
学习aspectJ,帮助学习面向方面的知识。
aspectj
aspectj-1.6至1.8各发布版本jar包,解决错误日志:error the @annotation pointcut expression is only supported at Java 5 compliance level or above
Aspectj驱动Aspectj驱动Aspectj驱动Aspectj驱动Aspectj驱动Aspectj驱动Aspectj驱动Aspectj驱动Aspectj驱动Aspectj驱动
org.aspectj,aspectj项目库(org.aspectj).zip,建筑物
基于XML的声明式AspectJ是指通过XML文件来定义切面、切入点及通知,所有的切面、切入点和通知都必须定义在元素内。 基于XML的声明式AspectJ 元素及其子元素如下: 小提示:图中灰色部分标注的元素即为常用的配置元素...
NULL 博文链接:https://fei-xiang.iteye.com/blog/521637
然而,尽管aspectj纳入在eclipse这个日益流行的java开源ide之内,但是找到一种实用、非理论的方式来学习这种语言及其他aop工具和技术已经成为一个实际的问题。 迄今为止,本书提供了实用的解决方案以及大量的代码...
Aspectj开发指南 博文链接:https://g007n.iteye.com/blog/249602
aspectj架包,版本号:aspectj-1.6.9.jar
精通AspectJ(面向方面的java编程指南)一书的示例代码。
aspectj-1.7.1.jar
aspectj-1.9.5.jar 官网下载地址:https://www.eclipse.org/aspectj/downloads.php
aspectj配合spring需要jar