使用 Blueprint Container 规范构建 OSGi 应用程序
2009-11-26 00:00:00 来源:WEB开发网
清单 4. 实例工厂方法示例 public class AccountFactory {
public AccountFactory(String factoryName) {
...
}
public Account createAccount(long number) {
return new Account(number);
}
}
<bean id=”accountFactory” class=“org.apache.geronimo.osgi.AccountFactory”>
<argument value=”account factory”/>
</bean>
<bean id=”accountThree”
factory-ref=“accountFactory”
factory-method=“createAccount”>
<argument value=”3”/>
<property name=”description” value=”#3 account”/>
</bean>
范围
根据范围设置,一个 bean 管理器可以创建一个或多个对象实例。Blueprint Container 规范指定了两个主要的范围:
singletonbean 管理器创建了 bean 的单个实例,并在每次要求管理器提供对象时返回该实例。 prototypebean 管理器在每次要求管理器提供对象时都将创建一个 bean 的新实例。
默认情况下,singleton 范围被应用于顶级 bean 管理器。scope 属性不能在内联 bean 管理器中设置,因此内联管理器总是被认为具有 prototype 范围。
scope 属性用于指定范围设置。清单 5 展示了两个具有不同范围设置的 bean 定义。
更多精彩
赞助商链接