1. 再配置切入点的时候,需要定义表达式,重点的格式如下:execution(public * *(..)),具体展开如下:
* 切入点表达式的格式如下:
* execution([修饰符] 返回值类型 包名.类名.方法名(参数))
* 修饰符可以省略不写,不是必须要出现的。
* 返回值类型是不能省略不写的,根据你的方法来编写返回值。可以使用 * 代替。
* 包名例如:com.huida.demo3.BookDaoImpl
* 首先com是不能省略不写的,但是可以使用 * 代替
* 中间的包名可以使用 * 号代替
* 如果想省略中间的包名可以使用 ..
* 类名也可以使用 * 号代替,也有类似的写法:*DaoImpl
* 方法也可以使用 * 号代替
* 参数如果是一个参数可以使用 * 号代替,如果想代表任意参数使用 ..
<!-- 配置AOP --> <aop:config> <!--切面类 --> <aop:aspect ref="myAspectXml"> <!-- 是在原始方法的前面执行,还是后面执行 --> <!-- pointcut:切入点 --> <!-- 切入点表达式 1.execution()固定的 不能不写 2.public可以省略不写,但如果是private则必须要写 3.void 返回值可以出现*表示任意的返回值 。返回值类型不能不写 4.可以使用*代替, 必须编写。如果想找这个项目中所有的方法,不能只写一个*,而应写为*..* 5.类名 可以写为*DaoImpl,表示拦截以DaoImpl的方法 6.方法名 save* 拦截方法以save开头的方法。 7.方法的参数 --> <aop:before method="log" pointcut="execution(public void com.huida.demo3.CustomerDaoImpl.save*(..))"/> </aop:aspect> </aop:config>