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

2025-04-08 22:03:11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

声明一个切面,声明切入点
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢