【发布时间】:2015-08-30 12:54:24
【问题描述】:
在我们的网络应用中,我们同时拥有@Controller 类和@RestController。
您建议如何在我们的内部项目结构项目(包/模块)和 url 映射明智地组织它们?
【问题讨论】:
标签: java spring spring-mvc model-view-controller controller
在我们的网络应用中,我们同时拥有@Controller 类和@RestController。
您建议如何在我们的内部项目结构项目(包/模块)和 url 映射明智地组织它们?
【问题讨论】:
标签: java spring spring-mvc model-view-controller controller
关于包结构,您有两种选择。层与 组件包装。
层封装保留层 bean 位于相同包中的策略(例如,UserController、InvoiceController 在
com.example.application.web 包和UserService,
InvoiceService 在 com.example.application.service 包中)。
这在野外最为常见。
组件打包保留每个功能的策略包(例如,UserController、UserService 在
com.example.application.user 和 InvoiceController,
InvoiceService 在 com.example.application.invoice)。
到目前为止,我只对 Layer 打包有过经验并获得了意见 组件封装会解决很多问题(尤其是 耦合问题,因为您通常可以使用包私有 bean 代替 公众)。所以如果由我决定,我会选择后者 方法。
但您的团队必须决定使用和坚持哪种结构 它。
您可以在SO thread 中阅读更多关于利弊的信息
【讨论】: