3.17 @Pointcut的表达式-bean

戴着假发的程序员出品  抖音ID:戴着假发的程序员  欢迎关注

[查看视频教程]

此 PCD 允许您将连接点的匹配限制为特定的名为 Spring bean 或一组名为 Spring beans(使用通配符时)。

官方给出的案例:

名为tradeService的 Spring bean 上的任何连接点(仅在 Spring AOP 中执行方法):

bean(tradeService)

Spring beans 上的任何连接点(仅在 Spring AOP 中执行方法)具有匹配通配符表达式*Service的名称:

bean(*Service)

上面的案例非常好理解

第一个案例是匹配所有beanName为tradeService的bean。

第二个案例是匹配所有beanName以Service结尾的bean。

我们看一个简单的案例:

指定匹配BookService:

1 //使用bean匹配指定的bean
2 @Pointcut("bean(bookService)")
3 private void pointCut1(){}

指定匹配service结尾的所有bean

1 //使用bean匹配指定的bean
2 @Pointcut("bean(*Service)")
3 private void pointCut1(){}

这里的beanName就是@Component(beanName)指定的,如果没有指定spring会默认采用自动生成的beanName。

posted @ 2020-10-18 16:49  戴着假发的程序员0-1  阅读(427)  评论(0编辑  收藏  举报