对于一个新项目,我正在研究OSGi在依赖注入方面提供的内容,我有点像iPOJO(基于纯注释,而不是xml支持)。
但是,从测试的角度来看,Blueprint可能会更好,从那时起,对于不同的测试用例(功能测试),重写蓝图配置可能就足够了,并且会立即注入其他服务。
您对此主题有何看法? 我是否可以放弃基于XML的蓝图(我讨厌XML)而不牺牲iPOJO的灵活性而不牺牲测试的灵活性?
答案 0 :(得分:1)
是。您可以。我不认为你会诅咒什么。 事实上,iPOJO比蓝图更强大,它支持诸如“现场注入”,“服务生命周期控制”和“配置管理”之类的东西 - 蓝图没有(reference)。
然而,蓝图是OSGi Enterprise Specification的一部分,如果重要的话。
我没有使用Blueprint,但只是查看它的规范 - 除非你是一个java bean的家伙,我会远离。另外,我更喜欢iPOJO而不是DS,因为在许多情况下它看起来更聪明,而且做得对。
答案 1 :(得分:0)
关于iPOJO单元测试,您可以使用构造函数(或构造函数注入)来注入模拟服务并有效地测试组件的行为:
所以有两个选择:
如果您尝试进行集成测试,您可以使用pax考试并部署您的软件包(除了iPOJO之外)。