execution(* *..PersonMg.save(..))的解读:
1、第一颗* 代表返回值可任意,
2、*..PersonMg代表任意Pacakge里的PersonMg类。
3、com.test.service.* 代表com.test.service下的任意类
4、com.test.service.*.* 代表com.test.service下的任意类的任意方法
5、com.test.service..* 代表com.test.service及其子package下的任意类
6、save代表save方法,也可以写save* 代表savePerson()等方法
7、(..) 匹配0个参数或者多个参数的,任意类型
8、(x,..) 第一个参数的类型必须是X
9、(x,,,s,..) 匹配至少4个参数,第一个参数必须是x类型,第二个和第三个参数可以任意,第四个必须是s类型。
1、第一颗* 代表返回值可任意,
2、*..PersonMg代表任意Pacakge里的PersonMg类。
3、com.test.service.* 代表com.test.service下的任意类
4、com.test.service.*.* 代表com.test.service下的任意类的任意方法
5、com.test.service..* 代表com.test.service及其子package下的任意类
6、save代表save方法,也可以写save* 代表savePerson()等方法
7、(..) 匹配0个参数或者多个参数的,任意类型
8、(x,..) 第一个参数的类型必须是X
9、(x,,,s,..) 匹配至少4个参数,第一个参数必须是x类型,第二个和第三个参数可以任意,第四个必须是s类型。