上篇中我们提到在XML文件中配置切入点,需要采用全匹配:
pointcut="execution(public void com.dimples.hehe.service.impl.CustomerServiceImpl.saveCustomer())"
这种全匹配的方式太繁杂,而且在实际开发中有数千种方法,通过这种方式肯定也不现实,下面我们讲讲切入点的通配符配法。
有时候,我们会在一个aspect中织入多个方法,这时候我们要写多个pointcut="execution(* com..*.*(..)"
这时候我们可以在外面定义好一个pointcut,然后在里面直接引用就好了(当然也可以在aspect标签里面定义,不过这样就只能在本标签内使用):
<aop:config>
//这里定义了一个父切入点,下面可以直接引用
<aop:pointcut expression="execution(* com.hehe.service.impl.*.*(..))" id="p1"/>
<aop:aspect id="logAspect" ref="logger">
<aop:before method="printLog" pointcut-ref="p1"/>
<aop:before method="printLog" pointcut-ref="p1"/>
<aop:before method="printLog" pointcut-ref="p1"/>
<!-- <aop:after method="printLog1" pointcut-ref="p1"/> -->
<!-- <aop:before method="printLog2" pointcut-ref="p1"/> -->
</aop:aspect>
</aop:config>