gpt4 book ai didi

java - 我可以在同一个服务中使用两个存储库吗?

转载 作者:太空宇宙 更新时间:2023-11-04 11:50:00 25 4
gpt4 key购买 nike

我的service.Impl类:

 @Service
public class HevenServiceImpl implements IHevenService {
/*
*
* Injecting DAO
*/
@Resource
private HevenRepositoryDAO repository;
@Resource
private DecompteRepositoryDAO repository2;

有什么影响?我们会遇到脏读问题吗!!?

最佳答案

从技术上讲,是的,你可以!但你应该遵循单一责任原则。它的意思是,不要让你的服务层知道存储库,而是在两者之间有一些管理层(比如 ServiceManager)。 ServiceManager 将调用不同的类集(例如 RepoManager)。每个 RepoManager 处理一个存储库并公开函数来完成所有低级别的事情(可以在此处处理具有事务管理、重试、缓存等的 CRUD 操作)。您的 ServiceManager 应该处理多个 RepoManager 并具有业务逻辑。服务实现。应该将调用委托(delegate)给适当的管理器,并且可以执行一些其他操作,例如在单个位置进行异常处理等。这意味着很多额外的类,这些类在相当简单的组件中不值得,但随着应用程序/组件的增长会增加很多值(value)。使用您自己的判断至少将服务层与存储库隔离。

关于java - 我可以在同一个服务中使用两个存储库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41941920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com