MVC:服务能否依赖其他服务?

mar*_*595 8 java model-view-controller spring spring-mvc

我很高兴使用MVC模式(Spring MVC).我有一个非常简单的问题.服务是否可以依赖其他服务?就像是:

@Service
public class MyFirstService{

   .....

   @Autowired
   private MySecondService secondService;

   ......
 }
Run Code Online (Sandbox Code Playgroud)

这是一个"好习惯"还是应该避免的?

谢谢!

Uwe*_*nus 8

有一个简单的答案:是的.

根据另一项服务的一项服务是有意义的.否则,您可能有代码重复.

想到的一个例子是拥有一个EmailService.我不想多次编写电子邮件发送代码,以便我创建一个服务.其他服务自然会调用此服务.


Cha*_*oon 5

是的。服务层的期望是实现应用程序的业务逻辑。假设一个业务逻辑(在一个服务中实现)可能需要使用其他服务来完成它的操作。例如,LoanService 模块可以访问 InterestService 来计算贷款的利息。

@Service
public class LoanService{

   .....

   @Autowired
   private InterestService interestService;

   ......
}
Run Code Online (Sandbox Code Playgroud)