使用 Blueprint Container 规范构建 OSGi 应用程序
2009-11-26 00:00:00 来源:WEB开发网为了帮助 Blueprint Container 选择合适的构造函数、方法或参数组合,可以在 argument 元素中指定额外的属性,例如 index 或 type。例如,type 指定了一个列名,用于根据精确的类型将 argument 元素匹配到参数。
property 元素指定要注入的属性的名称和值。属性名与 Java 类中的 setter 方法名对应。例如,如果属性名为 foo,那么对应的 setter 方法为 setFoo(arg)。属性名和对应的 setter 方法名遵循 JavaBeans 规范中定义的属性设计模式。
argument 和 property 元素的值可以通过 value 或 ref 属性指定,或者可以被内联。ref 属性指定顶级管理器的 ID,并用于从引用管理器获得对象,作为参数或属性值。内联的值可以为 “Object values” 小节中描述的任意 XML 值。
构建
bean 可以通过以下内容以三种方式构建:
一个类构造函数
一个静态工厂方法
一个实例工厂方法
清单 2、3 和 4 演示了三种构建 Java 对象的方法。每一个清单展示一个不完整的 Java 类以及用于驱动对象创建的相应的 Blueprint XML 片段。
清单 2 展示了一个简单的构造器创建示例。在这个例子中,class 属性指定将要实例化的 Java 类的名称。Blueprint Container 将创建 Account 对象,方式为将 1 作为参数传递给构造器并调用 setDescription() 方法注入描述属性。
清单 2. 构造器示例 public class Account {
public Account(long number) {
...
}
public void setDescription(String description) {
...
}
public String getDescription() {
...
}
}
<bean id=”accountOne” class=“org.apache.geronimo.osgi.Account”>
<argument value=”1”/>
<property name=”description” value=”#1 account”/>
</bean>
更多精彩
赞助商链接