转载 https://www.cnblogs.com/jiafa/p/13835963.html
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。