我看到一些代码将Controller作为依赖项注入到Spring应用程序的服务层中。我的第一反应是,这似乎很不对劲,但是我不知道该如何向我的同事解释。有人可以告诉我为什么还是为什么不是个好主意吗?
这不是一个好主意。控制器用于处理新请求的接收。因此,控制器与它们所运行的介质/技术紧密耦合。例如,HTTP控制器或通过消息队列获取请求的控制器。
另一方面,服务类设计为完全不与请求如何到达应用程序耦合。这使您可以在各种控制器之间重用包含主要业务逻辑的服务类。假设明天您的老板不再希望使用HTTP,而是希望所有新请求都通过消息队列进入。因为您的服务类不依赖于任何控制器类,所以更改应用程序要容易得多,以便它可以正确处理来自消息队列的请求。
这样,您的控制器将需要服务类,而不需要其他方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句