[英]How to provide a list of objects for a REST query in spring-mvc?
[英]Design Web application with spring-mvc, how to choose data, model objects & ui objects?
我使用spring-boot,spring-mvc和hibernate构建了一个Web应用程序。 我直接在UI中使用DAO,只需将它们包装在另一个对象中即可。 它使我的DAL和Presentation层紧密耦合。
据我了解,mvc架构通过分离出每个组件来减少耦合,我对此进行了努力。 :(
可以做我做的事吗? 因为它将表示层对象转换保存为DAO,以将其持久保存在DB中。 什么是推荐的最佳设计方法? 当前设计(相当紧密地结合在一起)会带来什么收益?
我无法弄清楚,任何人都可以帮助我理解它。
提前致谢!!
我曾经那样做:
我创建了几层:UI层,BLL层和DAL层。 然后,我为每个模型创建模型。 例如:MyUser_UI.java,MyUser_Bll.java和MyUser_Dal.java。 这种模型称为POJO,它们用于在层之间传输数据。 如您所见,MyUser_xxx.java具有类似的属性,因此我使用了一个名为DozerBeanMapper的自动对象映射器来帮助我将数据从一个传输到另一个。 那就是我所做的。
我保证这是一种实用的方法,但是显然,它远非最佳方法。 我必须维持太多的课程。 考虑一下:有一天,我想为MyUser_xxx.java添加一个新属性,我必须更改三个位置。 我经常错过一些东西并得到错误。 所以我改变了另一种方式。
我将POJO提取到单独的程序包中。 所有这三层都可以访问此程序包。 这样,我感觉好多了。 但这还带来其他一些问题。 每个层的POJO要求通常有所不同。 因此,我必须创建基类MyUser.java,以及从基类派生的MyUserEx.java。
我认为没有最好的设计有点令人失望。 但是我们可以结合使用许多方法来使我们的代码更好。 你更喜欢女巫吗? 由你决定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.