在不同的层之间传递bean

时间:2014-09-22 20:40:06

标签: java

我需要了解如何在不同层之间移动数据。通常我计划如下每个图层都有自己的POJO。

         formPojo                     controllerPojo             servicePojo        
        ===============>             ================>          =============> 
Form/UI                  Controller                     Service                 Dao
        <===============             <===============           <============
         controllerPojo               servicePojo                   dbPojo

这个的主要缺点是即使字段相同也不需要转换我需要有四种不同的pojo类型(* Pojo)。所以我的问题是:

  1. 在图层之间传输数据的正确方法是什么?
  2. 我确信每个都有正确的名称,如Model,DTO,Domain。能否根据上图解释哪一个是哪个。
  3. 由于

1 个答案:

答案 0 :(得分:0)

这取决于您作为框架使用的内容。例如,在Spring MVC中,您可以使用后备对象和Model对象进行数据绑定和传输。通常,这些对象不是彼此的镜像。

我建议阅读这些概念。有关特定于Spring的实现,请参阅此处的spring MVC文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html

我想详细说明一下。在您作为应用程序开发人员的整个职业生涯中,您将遇到这些概念。在为不同层创建不同对象方面,我们经常面临决定分层的最佳方法,从而分离数据。重要的是要做到这一点,谢天谢地,有工具可以提供帮助。

首先,我们需要了解所提供的机制,以便利用框架和容器提供的内置效率。因此,了解允许自动检测属性和方法的Java bean约定。

还有地图制作者。例如,如果我想获取数据对象并将其一些内容放入页面对象中。我可以使用Dozer或ModelMapper之类的东西来帮助管理两个这样的对象之间的数据传输。根据您的需要,这可能很简单或复杂。

当然,手动执行此操作是学习这些工具所提供的思路的最简单方法,但应该意识到这些工具的存在会影响您的方法。