在春季应用中将Controller注入服务层是一个好习惯吗?

Ben Li

我看到一些代码将Controller作为依赖项注入到Spring应用程序的服务层中。我的第一反应是,这似乎很不对劲,但是我不知道该如何向我的同事解释。有人可以告诉我为什么还是为什么不是个好主意吗?

何塞·马丁内斯(Jose Martinez)

这不是一个好主意。控制器用于处理新请求的接收。因此,控制器与它们所运行的介质/技术紧密耦合。例如,HTTP控制器或通过消息队列获取请求的控制器。

另一方面,服务类设计为完全不与请求如何到达应用程序耦合。这使您可以在各种控制器之间重用包含主要业务逻辑的服务类。假设明天您的老板不再希望使用HTTP,而是希望所有新请求都通过消息队列进入。因为您的服务类不依赖于任何控制器类,所以更改应用程序要容易得多,以便它可以正确处理来自消息队列的请求。

这样,您的控制器将需要服务类,而不需要其他方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Spring中将事务服务注入到另一个事务服务中是一种好习惯吗?

使数据访问层与服务层分开是一个好习惯

根植我所有的服务是一个好习惯吗?

传递Ninject内核是一个好习惯吗?

Spring在方法上的@Profile是一个好习惯吗

每层集成测试是一个好习惯吗?

使用`import __main__`是一个好习惯吗?

链接libstdc ++ static是一个好习惯吗?

这是一个好习惯吗?“ / * /某物/ * /某物// * /”

缓存Fragment是一个好习惯吗?

经常使用$ scope。$ apply()是一个好习惯吗?

拥有大量 childEventListeners 是一个好习惯吗?

使用别名是一个好习惯吗?

在vuejs中使用CDN是一个好习惯吗?

命名空间作业是一个好习惯吗?

卸载依赖项。这是一个好习惯吗?

'+ ((visible && "is-active") || "")' 是一个好习惯吗?

在 Firestore 中将日期存储和查询为 JSON 字符串,这是一个好习惯吗?

在微服务和客户端库项目之间共享模型是一个好习惯吗?

扩展NSError是一个好习惯

经常注入服务容器是一个坏习惯

可以从 Redux thunk 使用 router.push 吗?这是一个好习惯吗?

具有相同接口的两个EJB。这是一个好习惯吗?

如果捕获空指针异常不是一个好习惯,那么捕获异常是一个好习惯吗?

将include指令合并到一个文件中是一种好习惯吗

JFrame-在一个JFrame中使用多个面板是一种好习惯吗?

将一个断言放在afterEach块中是一种好习惯吗?

在另一个方法中调用一个方法是一个好习惯吗?- PHP

在生产中自行托管wcf服务是否是一个好习惯