我正在学习 Spring 并正在考虑将 Spring Test 用于我的 Web 应用程序(JQuery/CXF/Hibernate)。我一直在使用注释来连接我的 bean,并注意到这有时会影响多态性。例如,我有一个GenericDAO
所有 DAO 的扩展。它也是简单服务使用的具体类,因此当我为其中一个服务连接它时,所有其他 DAO 都成为运行时连接的候选者(因为多态性)。我可以通过按 type: 显式连接来解决这个问题@Resource(type= GenericDaoImpl.class)
,但这违背了对接口进行编码的最佳实践..
现在我想使用 . 创建单元测试MockGenericDaoImpl
和使用GenericDaoImpl
. 我将如何覆盖注释?我猜最好的方法是坚持基于 XML 的接线,这样我就可以有多个版本beans.xml
,一个用于 prod,一个用于单元测试,一个用于集成测试,并可能将它们拆分为并行子文件,如需要。这种方法不是比依赖扫描以猜测适当的候选者或约束多态性的注释更灵活吗?有人可以给我关于如何组织我的测试配置设置的广泛指导吗?谢谢!