为什么在Hybris中有两个单独的xml文件 - <extension> -beans.xml&<extension> -spring.xml?

App*_*Bud 3 java hybris

我是Hybris的新手并且对它的扩展结构感到困惑.每当我们创建任何扩展时,它都包含两个XML文件:-beans.xml和-spring.xml

<extension>-beans.xml file包含bean及其属性的定义,或者换句话说,DTO.

<extension>-spring.xml 还包含一些bean及其属性的定义.

这是我到目前为止所理解的.如果我错了,请纠正我.

当我们可以定义bean时spring.xml,为什么需要另一个XML文件" beans.xml"?

请对此提供一些说明.谢谢.

Fre*_*ded 8

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

<extension>-beans.xml -

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

总之创建DTO,我们使用-beans.xml,然后在控制器中使用它来在jsp中显示结果.

<bean class="de.hybris.platform.test.data.CustomerData">
    <description>Data object representing CustomerData</description>
    <property name="name" type="String"/>
    <property name="email" type="String"/>
    <property name="phone" type="String" />
</bean>
Run Code Online (Sandbox Code Playgroud)

转换器/填充器正用于填充DTO.

<extension>-spring.xml -

此文件用于定义类bean(如facade,service,dao,strategy等).

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


小智 6

通常,Hybris中的*beans.xml文件用于表示数据模型(如上所述).这些文件由平台读取,由此自动生成DTO.

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

https://wiki.hybris.com/display/release5/Generating+Beans+and+Enums有更多相关信息.