Bra*_*kes 5 architecture model-view-controller spring
我正在通过一个春天的mvc视频系列并且喜欢它!
我想更多地了解正在使用的确切架构的细节,并且无法确定正确的名称 - 以便我可以进一步阅读.
例如,我理解表示层是MVC,但不确定如何更具体地描述模式以考虑服务和资源对象的使用 - 而不是选择使用服务,DAO和Domain对象.
有什么线索可以帮助我更好地集中精力去理解下面的布局?
application
core
models/entities
services
rest
controllers
resources
resource_assemblers
Run Code Online (Sandbox Code Playgroud)
编辑: Nathan Hughes的评论澄清了我与命名法的混淆,SirKometa连接了我没有掌握的建筑点.多谢你们.
据我所知,您提到的布局代表了通过 REST 服务与世界通信的应用程序。
core包代表与视图无关的所有类(域、服务、存储库)。model包 - 假设您的目标是典型的应用程序,您确实有一个model/domain/entity代表您的数据的包例如: https: //github.com/chrishenkel/spring-angularjs-tutorial-10/blob/master/src/main/java/教程/核心/模型/实体/Account.java。repositorypackage - 由于您使用的是 Spring,因此您很可能也会使用sincespring-data甚至spring-data-jpawithHibernate作为您的ORM库。它很可能会引导您使用Repository界面(尽管您观看的视频的作者出于某种原因决定不使用它)。无论如何,这将是您访问数据库的层,例如:https://github.com/chrishenkel/spring-angularjs-tutorial-10/blob/master/src/main/java/tutorial/core/repositories/jpa/JpaAccountRepo .java servicepackage 将是你操作数据的包。这不是最好的例子,但该层不会直接访问您的数据库,它将使用存储库来完成此操作,但它也可能做其他事情 - 它将是您在应用程序中操作数据的 API。假设您想在将钱包保存到数据库之前对钱包进行一次奇特的计算,或者像这里一样https://github.com/chrishenkel/spring-angularjs-tutorial-10/blob/master/src/main/java/ tutorial/core/services/impl/AccountServiceImpl.java您想要确保您尝试创建的博客尚不存在。controllers包包含将用于DispacherServlet处理请求的所有类。您将从请求中读取“输入”,对其进行处理(Services在此处使用您的信息)并发送您的响应。resource_assemblers本例中的包是特定于框架的 ( Hateoas)。据我所知,它只是您的 json 响应的 DTO(例如,您可能想在您的中存储密码,Account但通过 json 公开它不是一个好主意,如果您不使用 DTO,就会发生这种情况) 。请告诉我这是否是您正在寻找的答案。
| 归档时间: |
|
| 查看次数: |
982 次 |
| 最近记录: |