kom*_*mal 4 java osgi dependency-injection
OSGi中的Declarative和Bluprint Services有什么区别?因为两者都旨在实现osgi中的依赖注入.蓝图服务是否可以替代声明性服务?或bluprint服务是否填补了声明性服务的限制(如果有的话)?
我担心,这个问题没有一个简单的答案.我建议阅读两者的规格,看看差异的程度.声明性服务是服务纲要的第112节,蓝图容器是同一文件的第121节.您可以在此处获取核心和纲要文档:http: //www.osgi.org/Download/Release4V42
对我来说,最重要的区别是(在DS术语中)蓝图服务可以在没有依赖于存在的服务的情况下变为活动状态.容器创建代理服务,阻止实际实现可用.我相信这类似于Spring的方法,习惯使用Spring的IOC/DI方法的人会立即获得蓝图,但我无法评论从未使用过Spring或Blueprint的个人经验(尚未).
由于我们正在处理OSGi服务,因此您可以根据需要混合使用DS和蓝图.到目前为止,我还没有发现需要做任何比使用DS更复杂的事情,所以我不确定Blueprint Container规范遇到什么用例,尽管从规范看起来它看起来好像Blueprint提供了很多功能为了简化组件开发.
我相信它的添加主要是因为J2EE开发人员会觉得它很熟悉,但这只是我的观点.:)
| 归档时间: |
|
| 查看次数: |
2726 次 |
| 最近记录: |