首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

跟小弟我学aspectj之四 - pointcut基础语法

2012-07-01 
跟我学aspectj之四 ----- pointcut基础语法一、aspect的定义   运行完HelloWorld以后,我们来看下aspect的基

跟我学aspectj之四 ----- pointcut基础语法

一、aspect的定义

   运行完HelloWorld以后,我们来看下aspect的基础语法:

1、定义一个切面: 关键字aspect。 这定义Java类的语法类似。

2、定义pointcut:  [修饰符(public,protected.....)] pointcut poincut名字() : 表达式;

3、定义advice:   通知类型() : pointcut名字(){ .......逻辑}

?

   一个最基本的aspect,就是这样组成的。值得一提的是:aspectj支持很多类型的pointcut,最基本的就是method call pointcut(方法级别),而Spring的aop 仅支持method call pointcut。所以,在后面陆续的使用中,你将会发现aspectj的强大, 简直强大到有点过分。而至于advice,aspectj也一样,就是5种类型。

?

?

?

二、pointcut的主要类型

Combination (逻辑/结合操作)! Pointcutevery join point not picked out by PointcutPointcut0 && Pointcut1each join point picked out by both Pointcut0 and Pointcut1Pointcut0 || Pointcut1each join point picked out by either Pointcut0 or Pointcut1( Pointcut )each join point picked out by Pointcut

?

?

前面说过pointcut基于正则的语法,那么肯定也支持通配符,含义如下:

?

* 表示任何数量的字符,除了(.)
.. 表示任何数量的字符包括任何数量的(.)
+ 描述指定类型的任何子类或者子接口
同java一样,提供了一元和二元的条件表达操作符。
一元操作符:!
二元操作符:||和&&
优先权同java

热点排行