使用 Blueprint Container 规范构建 OSGi 应用程序
2009-11-26 00:00:00 来源:WEB开发网eager,其中管理器在 Blueprint Container 初始化期间激活。
lazy,其中管理器按需要激活。
默认情况下,启用 eager 激活模式。然而,通过对 blueprint 元素设置 default-activation 属性,可以为 Blueprint XML 文件内的所有管理器修改默认激活模式。当要求管理器提供其第一个组件实例时,管理器将被激活。当 Blueprint Container 被销毁时,管理器将被解除激活。每个管理器都拥有自己的激活和解除激活步骤。 dependsOn这个可选属性指定了一个管理器 ID 列表。所列出的管理器将在其他管理器之前激活。管理器可以具有显式或隐式的依赖关系。dependsOn 属性定义了显式的依赖关系。隐式依赖关系在管理器定义中通过对其他管理器的引用定义。
Bean 管理器
bean 管理器 创建具有给定参数和属性的 Java 对象的实例。bean 管理器可以根据范围设置创建一个或多个对象实例。它还可以管理对象的生命周期,并且在所有属性被注入或对象被销毁时通知对象。
在 Blueprint XML 中,bean 元素将定义一个 bean 管理器。用于对象构造的参数由 argument 元素指定;注入的属性则由 property 子元素指定。
签名解析(disambiguation)
Blueprint 规范定义了一个分多个步骤的算法,用于解析签名。此算法考虑所有可能的构造函数以及每个构造函数中的参数组合,从而找到最佳匹配。相同的算法被用于方法中。规范的 121.9.1 小节介绍了详细内容。
在对象构造期间,Blueprint Container 必须首先找到合适的构造函数或工厂方法,这个构造函数或工厂方法具有一组类似的参数,这些参数与 XML 中指定的参数匹配。默认情况下,Blueprint Container 使用 XML 中的 argument 元素的数量和顺序查找匹配的构造函数或方法。如果 argument 元素无法根据自身的排列顺序映射到参数,那么 Blueprint Container 将尝试重新对 argument 属性排序并查找最匹配的组合。
更多精彩
赞助商链接