Guice配置/绑定最佳实践

rra*_*der 5 java dependency-injection guice

如果你有分层架构(DAO,服务,控制器),如何配置Guice?

它应该在顶层配置(控制器)?或者我们应该在每一层配置?如果是这样,何时如何将它们联系在一起?

测试怎么样?怎么样?谢谢.

vsb*_*ere 0

按照一般惯例, DAO越轻越好,其存在就是为了提供与 DB 的连接。

服务提供逻辑来操作发送到 DAO 和客户端的数据以及从 DAO 和客户端发送的数据。

通常,它们会捆绑在一起到同一个模块中,有时会捆绑到同一代码中,但您仍然会将它们视为不同的逻辑实体。

所以你应该将需要的服务绑定到相应的Guice模块中并注入到控制器中,最好通过注入向服务实现层提供DAO。

根据测试方法,如果您的服务除了对发送到 DAO 和客户端的数据进行操作的逻辑之外不执行任何功能,则应在服务器端单独测试每个 DAO 的功能。