我还没有找到有效的方法来做到这一点。我有一个提供网络服务的春季应用程序。此应用调用另一个 Web 服务来获取一些数据。出于 junit 测试目的,我不想调用上游的网络服务......相反,我想在内存数据源中使用 h2。如何将我的 Doa 连接到使用 Web 服务进行生产,然后使用 h2 数据源进行测试?
我已经查看了在我的上下文文件中设置配置文件。这有利于切换到不同的数据库数据源,但如果可能的话,我不知道如何将 Web 服务定义为数据源。
我建议使用具有两种实现的DAO/Repository接口 - H2Dao
和WebServiceDao
。您可以分别用@Profile("test")
和@Profile("production")
注释它们。然后,根据需要将"测试"或"生产"指定为活动配置文件。
祝你好运。