快速业务通道

使用Spring Framework设计和开发SCA组件,第2部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
ntext.support.ClassPathXmlApplicationContext 实 例。

在目标应用程序上下文上使用 ClassPathXmlApplicationContext bean 定义 来提供对含多种应用程序上下文的场景的支持,这个内容超出了 SCA Spring 组 件实现规范 V1.0 的建议。

不同于目标应用程序上下文内的 ClassPathXmlApplicationContext bean 定 义,在应用程序上下文的层次结构内标识的任何一个 ClassPathXmlApplicationContext bean 定义都将被 Spring 运行时视为一个常 规的 ClassPathXmlApplicationContext bean 并被相应处理。

Spring beans 的 SCA 注释

Apache Tuscany 对 Spring beans 内的 SCA 注释的支持超出了由 OSOA 定 义的 SCA Spring 组件实现规范 V1.0 的建议。

在 使用 Spring Framework 设计和开发 SCA 组件,第 1 部分:三剑客: Spring、SCA 和 Apache Tuscany 中,您了解到可以使用自定义 SCA 名称空间 元素,比如 <sca:service>、<sca:reference> 和 <sca:property>,在 Spring 应用程序上下文文件内显式声明 SCA 服务 、引用和属性。同样地,Apache Tuscany SCA 运行时允许您使用 SCA 注释在 Spring bean 类内显式地声明 SCA 服务、引用和属性。

下面介绍了用于在 Spring bean 类内显式地声明 SCA 服务、引用和属性的 SCA 注释。

org.osoa.sca.annotations.Service用来控制哪些 Spring bean 可被公开为 SCA 服务。@Service 注释一般用在 Java 类上,用来指定由该实现提供的服务 的接口。org.osoa.sca.annotations.Reference用来在由此复合集内可用的其他 SCA 组件提供的服务上声明一个 Spring bean 的依赖项。通过定义一个字段、 一个 setter 方法参数或一个 constructor 参数(由此服务接口键入并由一个 @Reference 注释),可以使用引用注入访问服务。 org.osoa.sca.annotations.Property用来在由 SCA 组件实现提供的可设置属性 上声明一个 Spring 应用程序上下文的依赖项。@Property 注释被用来定义一个 SCA 属性。

如下这个示例展示了如何在 Spring bean 类中使用 SCA 注释。仍然使用在 使用 Spring Framework 设计和开发 SCA 组件,第 1 部分:三剑客:Spring、 SCA 和 Apache Tuscany 内讨论的 CalculatorComponent 示例展示 SCA 注释的 用法。

calculator.composite,如清单 4 所示,定义了 CalculatorComponent,它 依赖于其他四个服务:AddComponent、SubtractComponent、MultiplyComponent 和 DivideComponent。

清单 4. calculator.composite

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"     xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"     targetNamespace="http://calc"     xmlns:c="http://calc"     name="Calculator">    <service name="CalculatorService" promote=” CalculatorComponent">      <interface.java interface="calculator.CalculatorService"/>      <t:binding.rmi host="localhost" port="8099"  serviceName="CalculatorRMIService"/>    </service>    <component name="CalculatorComponent">      <implementation.spring location="META-INF/spring/calculator- context.xml"/>      <reference name="addService" target="AddComponent" />      <reference name="subtractService"  target="SubtractComponent" />      <reference name="mu

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号