Architecture 在三层体系结构中将业务类注入到业务类中

Architecture 在三层体系结构中将业务类注入到业务类中,architecture,dependency-injection,Architecture,Dependency Injection,我有一个由表示层、业务层和数据访问层组成的三层Java应用程序。在我的应用程序中,业务层包含我所称的服务类,数据访问层包含我所称的数据访问类。我使用Spring进行依赖注入,并从业务层开始管理数据库事务 我最近一直在想,将服务类注入到其他服务类中是否是一种“正常”的做法。我询问的原因是,我有一个服务类,其中包含我希望在其他服务类中使用的逻辑,我不想复制该逻辑,只是为了避免将一个服务类注入另一个服务类。我担心服务类之间的循环引用。为了避免这样做,我打算创建一个facade来总结我需要的逻辑,但我想

我有一个由表示层、业务层和数据访问层组成的三层Java应用程序。在我的应用程序中,业务层包含我所称的服务类,数据访问层包含我所称的数据访问类。我使用Spring进行依赖注入,并从业务层开始管理数据库事务


我最近一直在想,将服务类注入到其他服务类中是否是一种“正常”的做法。我询问的原因是,我有一个服务类,其中包含我希望在其他服务类中使用的逻辑,我不想复制该逻辑,只是为了避免将一个服务类注入另一个服务类。我担心服务类之间的循环引用。为了避免这样做,我打算创建一个facade来总结我需要的逻辑,但我想我应该先询问社区。

您的服务是如何连接到(从)表示层的?你是在注射它们,还是在使用某种服务定位器模式


对于表示层和服务层,我通常使用后者,例如,需要调用service2的service1将通过服务定位器获得服务。

DAO被注入到服务层,服务类被注入到表示层。我没有服务定位器。我会调查的。