上代码
<!-- 定义切面 -->
<aop:config>
<aop:pointcut id="serviceMethod" expression="execution(* com.mybatis.web.service..*.*(..))"/>
<!-- 将事务增强与切入点组合(织入事务切面) -->
<aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice"/>
</aop:config>
解释这里的:execution(* com.mybatis.web.service..*.*(..))
第一个* 表示是任意返回值,可以有返回值,也可以是void没有返回值的方法
第二处:..*表示:指定包(com.mybatis.web.service)下任意包下任意类
第三处:.*(..)表示:任意方法任意参数
引入网友说明:
<aop:config> <aop:pointcut id="userDAO" expression="execution(public * cn.dao.IUserDAO.*(..))" /> <aop:advisor advice-ref="tx" pointcut-ref="userDAO"/> </aop:config>
在上面的代码中
execution 是方法运行
public 是指定public的方法,也可以不写直接:execution(* cn.dao.IUserDAO.*(..)
* 是任意返回值,可以有返回值,也可以是void没有返回值的方法
cn.dao.IUserDAO.* 是指定目录下的指定类任意方法
cn.dao.IUserDAO.insert* 是指定目录下的指定类insert开头的任意方法
cn.dao.IUserDAO.*.* 是指定目录下的任意类下的任意方法
cn.dao..*.* 是指定目录下的任意目录下任意类下的任意方法
(..) 是任何参数,可以是没有参数