作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Apache Felix 的 SCR 允许声明(通过注释或 XML)组件,然后将这些组件实例化、连接到其依赖项并注册为 OSGi 服务。
也可以跳过服务注册部分,只让 SCR 创建组件(通过指定 @scr.component,但省略 @scr.service) 。我认为这可能仅对于依赖注入(inject)(在 bundle 内)有用,但是如何使用组件呢?可以使用scr.reference注入(inject)服务,但这对于非服务不起作用(或者确实如此)?
直接访问 SCR API 是可行的,但直接与容器服务通信有点违背了 DI 的目的。
最佳答案
我认为你只能注入(inject) OSGI 服务。如果你想使用依赖注入(inject)也许你应该检查 google Guice。不幸的是,我不知道它是否可以在 OSGI 容器中开箱即用。
关于 SCR 组件,如果一个组件提供了您想要在另一个组件中使用的功能,我认为应该使用服务来公开它。
关于java - 菲利克斯/OSGi : How to use SCR components that are not OSGi services?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/454464/
我是一名优秀的程序员,十分优秀!