对于一个新项目,我正在研究OSGi必须提供的依赖注入,并且我有点喜欢iPOJO(基于纯注释,而不是基于xml的支持)。
但是,从测试的角度来看,蓝图可能会更好,因为对于不同的测试用例(功能测试),它可能足以重写蓝图配置,并且会立即注入其他服务。
您对此主题有何看法?
是否可以在不牺牲测试灵活性的情况下放弃基于XML的蓝图(我讨厌XML),而转而使用iPOJO?
最佳答案
是。您可以。我认为您不会牺牲任何东西。
实际上,iPOJO比蓝图更强大,它支持诸如“字段注入”,“服务生命周期控制”和“配置管理”之类的东西,而蓝图则不支持(reference)。
但是,如果重要的话,蓝图是OSGi Enterprise Specification的一部分。
我没有使用过Blueprint,只是查看了它的规范-除非您是Java Bean的人,否则我会远离的。另外,与DS相比,我更喜欢iPOJO,因为在许多情况下,iPOJO看起来更聪明,而且做对了。