==========
方法切入点
==========
方法五要素
______________________________________________
|修饰符|返回值|方法名 |参数表 异常|
v v v v v
public double add(double x, double y) throws Throwable;
\__ ___/ | |
v v v
* *( .. ) 切入点表达式
| | |
任意修饰 任意方法名 任意参数表 匹配所有方法
符返回值
* register(..) - 切名为register的方法
/src/main/resources/applicationContext.xml:
>>>> BEFORE INVOKE >>>> \
UserServiceImpl.register 只切register方法
<<<< AFTER INVOKE <<<< /
UserServiceImpl.login - 不切login方法
例程:Proxy
* *(String,String) - 切带两个String型参数的方法
/src/main/resources/applicationContext.xml:
UserServiceImpl.register - 不切register方法
>>>> BEFORE INVOKE >>>> \
UserServiceImpl.login 只切login方法
<<<< AFTER INVOKE <<<< /
例程:Proxy
非java.lang包中的类型需要给出全限定名。
* *(cn.tedu.proxy.User) - 切带User参数的方法
参数表可以局部匹配。
* *(String,..) - 切第一个参数是String的方法
方法名可以带有包路径和类名。
* cn.tedu.proxy.UserServiceImpl.login(..) - 切cn.tedu.proxy包中UserServiceImpl类的名为login的方法
完整的切入点表达式:修饰符和返回值 包路径.类名.方法名(参数表)
public cn.tedu.proxy.User cn.tedu.proxy.UserServiceImpl.login(String,String)
/src/main/resources/applicationContext.xml:
UserServiceImpl.register
>>>> BEFORE INVOKE >>>>
UserServiceImpl.login
<<<< AFTER INVOKE <<<<
例程:Proxy