使用 Spring Framework 设计和开发 SCA 组件,第 2 部分: 使用 Apache Tuscany 的高级技巧
2010-02-25 00:00:00 来源:WEB开发网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。
更多精彩
赞助商链接