何时在Hybris中定义* -spring.xml和* -beans.xml上的bean?

时间:2017-06-24 02:30:33

标签: hybris

何时在Hybris中的* -spring.xml和* -beans.xml上定义bean?他们之间有什么区别?

2 个答案:

答案 0 :(得分:6)

  • * - spring.xml 用于定义Spring beans
  • * - beans.xml 用于定义DTO类。

E.g。您定义一个新实体颜色以将其存储在您的数据库中。

要定义诸如ColorDao或ColorService之类的spring bean,您将使用 yourextension-spring.xml

在ColorDao或ColorService中,您使用模型类。在这种情况下,它将是 ColorModel ,但是在编写ColorFacade时,您无法将模型类暴露给外部世界,您需要将其转换为某些DTO。所以你去 yourextension-beans.xml 并在那里创建ColorData类。

ColorData是在 ant all 期间从 yourextension-beans.xml 生成的。

答案 1 :(得分:1)

Hybris遵循分层架构,我们以模型的形式从持久层(数据库)获取数据,并以DTO(数据传输对象)的形式将结果发送到表示层。

  

个-beans.xml

我们以声明方式创建Data对象,例如,在用作代码生成输入的xml文件中定义bean和枚举。主要优点是您可以将属性合并到多个扩展名上。

简而言之,为了创建DTO,我们使用-beans.xml,然后在控制器中使用它来在jsp中显示结果。

<bean class="de.hybris.platform.test.data.ProductData">
    <description>Data object representing ProductData</description>
    <property name="code" type="Long"/>
    <property name="name" type="String"/>
    <property name="price" type="Double"/>
</bean>

正在使用转换器/填充程序来填充DTO。

  

-spring.xml

此文件用于定义您的类bean(如外观,服务,dao,策略等)。

<bean id="defaultProductService" class="de.com.test.DefaultProductService"/>

* spring.xml文件中声明的Bean不会自动生成。