分享
 
 
 

这两天学习JSF / AspectJ / Refactoring

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

这几天在学习JSF / AspectJ / Refactoring, 以及在eclipse下的使用。

AspectJ中的四个概念:

Pointcuts - 切入点(类似于一个动作,一件事情,甚至一组动作或事情等等),具体可以是一个或者几个方法,实例化,赋值(set,get),异常,block ... 具体有一下这些(后面几个我的理解也是模糊的,那位高手可以准确这些概念,谢谢先):Methods and Constructors

call(Signature)

every call to any method or constructor matching Signature at the call site

execution(Signature)

every execution of any method or constructor matching Signature

Fields

get(Signature)

every reference to any field matching Signature

set(Signature)

every assignment to any field matching Signature. The assigned value can be exposed with an args pointcut

Exception Handlers

handler(TypePattern)

every exception handler for any Throwable type in TypePattern. The exception value can be exposed with an args pointcut

Advice

adviceexecution()

every execution of any piece of advice

Initialization

staticinitialization(TypePattern)

every execution of a static initializer for any type in TypePattern

initialization(Signature)

every initialization of an object when the first constructor called in the type matches Signature, encompassing the return from the super constructor call to the return of the first-called constructor

preinitialization(Signature)

every pre-initialization of an object when the first constructor called in the type matches Signature, encompassing the entry of the first-called constructor to the call to the super constructor

Lexical

within(TypePattern)

every join point from code defined in a type in TypePattern

withincode(Signature)

every join point from code defined in a method or constructor matching Signature

Instanceof checks and context exposure

this(Type or Id)

every join point when the currently executing object is an instance of Type or Id's type

target(Type or Id)

every join point when the target executing object is an instance of Type or Id's type

args(Type or Id, ...)

every join point when the arguments are instances of Types or the types of the Ids

Control Flow

cflow(Pointcut)

every join point in the control flow of each join point P picked out by Pointcut, including P itself

cflowbelow(Pointcut)

every join point below the control flow of each join point P picked out by Pointcut; does not include P itself

Conditional

if(Expression)

every join point when the boolean Expression is true

Combination

! Pointcut

every join point not picked out by Pointcut

Pointcut0 && Pointcut1

each join point picked out by both Pointcut0 and Pointcut1

Pointcut0 || Pointcut1

each join point picked out by either Pointcut0 or Pointcut1

( Pointcut )

each join point picked out by Pointcut

Type Patterns TypeNamePattern

all types in TypeNamePattern

SubtypePattern

all types in SubtypePattern, a pattern with a +.

ArrayTypePattern

all types in ArrayTypePattern, a pattern with one or more []s.

!TypePattern

all types not in TypePattern

TypePattern0 && TypePattern1

all types in both TypePattern0 and TypePattern1

TypePattern0 || TypePattern1

all types in either TypePattern0 or TypePattern1

( TypePattern )

all types in TypePattern

Advice before( Formals ) runs before each join point after( Formals ) returning [ ( Formal ) ] runs after each join point that returns normally. The optional formal gives access to the returned value after( Formals ) throwing [ ( Formal ) ] runs after each join point that throws a Throwable. If the optional formal is present, runs only after each join point that throws a Throwable of the type of Formal, and Formal gives access to the Throwable exception value after( Formals ) runs after each join point regardless of whether it returns normally or throws a Throwable Type around( Formals ) runs in place of each join point. The join point can be executed by calling proceed, which takes the same number and types of arguments as the around advice. Inter-type member declarationsEach inter-type member is one of

Modifiers ReturnType OnType . Id ( Formals ) [ throws TypeList ] { Body } a method on OnType. abstract Modifiers ReturnType OnType . Id ( Formals ) [ throws TypeList ] ; an abstract method on OnType. Modifiers OnType . new ( Formals ) [ throws TypeList ] { Body } a constructor on OnType. Modifiers Type OnType . Id [ = Expression ] ; a field on OnType.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有