您所在的位置: 首页 > 读书频道 > 设计开发 > Java系列 >

4.5.1 绑定方法参数值

http://book.51cto.com  2008-09-26 16:20  [美] SpringSource 公司等著;翟育明等译  人民邮电出版社  我要评论(0)
  • 摘要:《Spring 2 企业应用开发》全面讲述了Spring 2 企业应用开发。主要涵盖Spring Framework 、核心容器、AOP(面向方面编程)、典型的Spring AOP 框架等内容。第4章构建在AOP的主题之上,介绍了Spring 2.0如何使AOP变得更加一致,并且使用起来更加简单。本节说的是绑定方法参数值。
  • 标签:Spring AOP  AspectJ  XML    参数  Java  Spring 2 企业应用开发

4.5.1 绑定方法参数值

你可以将传递到代理对象中的方法执行的参数值绑定到通知方法的参数。绑定方法参数值可能针对所有的通知类型。

对于这个例子,我们想要将比赛标识符值绑定到printMessageToInformMatchStarts()通知方法的参数,因此首先要给这个方法添加一个参数。但是还需要使用args()切入点指示符来指定想要绑定的方法参数。我们已经修改了MessagePrintingAspect,如代码清单4-58所示。

代码清单4-58  将比赛标识符值绑定到通知方法

 

代码清单4-58中的切入点告诉Spring AOP,要将连接点的第一个参数值绑定到printMessage- ToInformMatchStarts()通知方法的唯一参数。当这个通知方法被执行时,它的参数将包含被传递给代理对象中startMatch()方法执行的值。

注意下列关于代码清单4-58中切入点和通知方法的内容。

我们在execution()切入点指示符中保留了静态的参数选择。记住execution()使用静态的方法签名信息,而args()则需要一个动态的切入点。
为了避免在自动代理创建时选择过多的startMatch()方法作为能够与切入点匹配的连接点,我们添加了尽可能多的静态条件。

printMessageToInformMatchStarts()通知方法不能改变比赛标识符的值。为了改变参数值,必须使用JoinPoint对象。

将参数添加到printMessageToInformMatchStarts()通知方法时,这个参数必须由切入点绑定,因此我们必须添加args()切入点指示符。当我们添加更多的参数时,将需要改变切入点,以便这些额外的参数也将被绑定。args()切入点指示符中使用的名称必须与通知方法参数中的参数名称相匹配。

为了用XML完成这一点,你的配置文件中要添加下面的内容:

 
【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
企业级Web2.0 你准备好了么?
浏览器的战国时代
调查:十大发现 解秘技术人
微软出价446亿美元收购雅虎
Sun以10亿美元并购开源数据库厂商MySQL
 
 验证码: (点击刷新验证码)   匿名发表
  • 互联网时代的软件革命—SaaS架构设计

  • 作者:叶伟等著
  • 本书是国内第一本完整介绍SaaS应用开发的书籍,聚集于架构设计。内容是互联网领域具有丰富实践经验的8位一线架构师,对于多年Sa..
Copyright©2005-2008 51CTO.COM 版权所有