使用 Spring Framework 设计和开发 SCA 组件,第 1 部分: 三剑客:Spring、SCA 和 Apache Tuscany
2009-11-23 00:00:00 来源:WEB开发网如清单 4 所示,<sca:service> 元素声明提供 CalculatorService 作为来自目标 calculator bean 的 SCA 服务。必需的 name 属性拥有的值应该与在 calculator.composite 中为 CalculatorComponent 定义的 <service> 元素的名称相同。必需的 type 属性应该将服务类型声明为一个 Java 类的完全限定名。必需的 target 属性应该拥有应用程序上下文中的一个 <bean/> 元素的名称,该元素提供由此 <sca:service> 元素声明的服务。
清单 4 中的 <sca:reference> 元素声明此应用程序上下文对由复合集中其他可用的 SCA 组件提供的服务的依赖关系。在本示例中,calculator bean 依赖于 SCA 服务,比如 AddComponent、SubtractComponent、MultiplyComponent 和 DivideComponent。这些依赖关系使用 <sca:reference> 元素进行声明。此元素的必需 name 属性拥有的值应该与在 calculator.composite 中为 CalculatorComponent 定义的 <reference> 元素的名称相同。必需的 type 属性应该将服务的类型声明为一个 Java 类的完全限定名。对于 calculator.composite 的 CalculatorComponent 中的每个 <reference> 元素,会在 Spring 应用程序上下文中声明一个等效的 <sca:reference> 元素。
类似地,<sca:property> 元素允许您声明此应用程序上下文对 calculator.composite 中的 CalculatorComponent 提供的 SCA 属性的依赖关系。必需的 name 属性拥有的值应该与 calculator.composite 中为 CalculatorComponent 定义的 <property/> 元素名称相同(如 清单 2 中所示)。必需的 type 属性应该将属性类型声明为一个 Java 类的完全限定名。
声明隐式的 SCA 服务、引用和属性
更多精彩
赞助商链接