java - 本地或远程存储库取决于配置
问题描述
我正在创建 api,它将提供有关电影的信息。我想从两个来源获取有关电影的信息:
- 将填充一些示例数据的数据库
- 远程 API
我将在属性文件中有标志,例如 fetch_from_remote = true/false;
我的问题是如何构建我的项目。我想到了类似下面的代码。我将根据标志将 MovieRepo(LocalRepo 或 RemoteRepo)的两个实现之一注入到 MovieService。但是我不确定它是否会起作用,以及它是否是好的方法?你有什么建议/更好的想法吗?
MovieController.class
public class MovieController{
MovieService MovieService;
Movie getMovie(int id){
MovieService.getMovie(id);
}
}
MovieRepository.class
public interface MovieRepository{
Movie getMovie(int id);
}
RemoteRepo.class
public class RemoteRepo implements MovieRepoisotry (
public getMovie(int id){
// implemenatation to connect to remotApi and fetchData
}
)
LocalRepo.class
public interface LocalRepo extends MovieRepository,JpaRepository<ChatMessage, Integer>{
}
电影服务类
public class MovieService{
MovieRepository MovieRepository;
public getMovie(int id){
MovieRepository.getMovie(id);
}
}
解决方案
推荐阅读
- javascript - 如何将资产文件夹中的图片添加到我的 React 应用程序?
- google-apps-script - 将幻灯片 pdf 保存到由谷歌表格单元格定义的文件夹中
- python - 从另一个变量python BeautifulSoup中剪切一个变量
- javascript - 使用 ECMA6 设置为对象键
- javascript - 关于 toUpperCase 方法,我缺少什么?
- python - 纳斯达克网页的“request.get()”没有响应
- nginx - 无法在 Kubernetes 上完成 Letsencrypt 的 HTTP 质询
- swift - 从 SwiftUI DatePicker 的范围内获取年龄
- c++ - 使用 Visual Studio Code 进行 C++ 编程 - “exe 与您正在运行的 Windows 版本不兼容。”
- javascript - 添加或编辑后,FlatList 无法滚动且无法更新项目