戴着假发的程序员出品 抖音ID:戴着假发的程序员 欢迎关注
@Pointcut的表达式-bean
spring应用手册(第三部分)
此 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:
//使用bean匹配指定的bean
@Pointcut("bean(bookService)")
private void pointCut1(){}
指定匹配service结尾的所有bean
//使用bean匹配指定的bean
@Pointcut("bean(*Service)")
private void pointCut1(){}
这里的beanName就是@Component(beanName)指定的,如果没有指定spring会默认采用自动生成的beanName。