========== 方法切入点 ========== 方法五要素 ______________________________________________ |修饰符|返回值|方法名 |参数表 异常| 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