多语言展示
当前在线:1030今日阅读:39今日分享:10

声明一个切面,声明切入点

声明一个切面,声明切入点
工具/原料
1

spring

2

IntelliJ

方法/步骤
1

使用模式支持时,方面是在Spring应用程序上下文中定义为bean的常规Java对象。状态和行为在对象的字段和方法中捕获,切入点和建议信息在XML中捕获。

2

您可以使用元素声明方面,并使用该ref属性引用支持bean ,如以下示例所示:

3

您可以在元素内声明一个命名切入点,让切入点定义在多个方面和顾问之间共享。表示服务层中任何业务服务执行的切入点可以定义如下:

4

请注意,切入点表达式本身使用与@AspectJ支持中描述的相同的AspectJ切入点表达式语言。如果使用基于模式的声明样式,则可以引用切入点表达式中类型(@Aspects)中定义的命名切入点。定义上述切入点的另一种方法如下:

5

然后在方面内部声明切入点与声明顶级切入点非常相似,如下例所示:

6

与@AspectJ方面大致相同,使用基于模式的定义样式声明的切入点可以收集连接点上下文。例如,以下切入点将this对象收集为连接点上下文并将其传递给建议:

7

必须通过包含匹配名称的参数来声明建议以接收收集的连接点上下文,如下所示:

8

当需要连接子表达式,&&是一个XML文档中的尴尬,这样你就可以使用and,or以及not到位的关键字&&,||和!分别。例如,以前的切入点可以更好地编写如下:

9

请注意,以这种方式定义的切入点由其XML引用,id不能用作命名切入点来形成复合切入点。因此,基于模式的定义样式中的命名切入点支持比@AspectJ样式提供的更有限。

推荐信息