对于一个新项目,我正在研究 OSGi 在依赖注入(inject)方面必须提供的内容,我有点喜欢 iPOJO(纯基于注释,不支持 xml)。
但是,从测试的角度来看,Blueprint 可能更好,因为对于不同的测试用例(功能测试),重写 blueprint 配置可能就足够了,并且会立即注入(inject)其他服务。
你对这个问题有什么看法? 我能否在不牺牲测试灵 active 的情况下放弃基于 XML 的蓝图(我讨厌 XML)以支持 iPOJO?
最佳答案
是的。你可以。我认为你不会牺牲任何东西。 事实上,iPOJO 比 blueprint 更强大,它支持诸如“字段注入(inject)”、“服务生命周期控制”和“配置管理”之类的东西 - 而 Blueprint 不支持 ( reference )。
但是,蓝图是 OSGi Enterprise Specification 的一部分,如果这很重要的话。
我没有使用过 Blueprint,只是查看了它的规范 - 除非您是 Java Bean 专家,否则我会远离它。此外,与 DS 相比,我更喜欢 iPOJO,因为它在很多情况下似乎更聪明,而且做正确的事。
关于java - OSGi 与测试中的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418409/