我是Hybris的新手并且对其中的扩展结构感到困惑。 每当我们创建任何扩展时,它都包含两个XML文件: -beans.xml和-spring.xml
<extension>-beans.xml
文件包含bean及其属性的定义,换句话说,就是DTO。
<extension>-spring.xml
还包含一些bean及其属性的定义。
这是我到目前为止所理解的。如果我错了,请纠正我。
当我们可以在spring.xml
中定义bean时,为什么需要另一个XML文件&#34; beans.xml
&#34; ?
请对此作出一些澄清。 感谢。
答案 0 :(得分:8)
正如我们所知,Hybris遵循分层架构,我们以模型的形式从持久层(数据库)获取数据,并以DTO(数据传输对象)的形式将结果发送到表示层。
<extension>-beans.xml
-
我们以声明方式创建Data对象,例如定义用作代码生成输入的xml文件中的bean和枚举。主要优点是可以将属性合并到多个扩展< / p>
简而言之,我们使用-beans.xml来创建DTO,然后在控制器中使用它来在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>
正在使用转换器/填充程序来填充DTO。
<extension>-spring.xml
-
此文件用于定义类bean(如facade,service,dao,strategy等)。
<bean id="defaultProductService" class="de.com.test.DefaultProductService"/>
答案 1 :(得分:6)
通常,Hybris中的* beans.xml文件用于表示数据模型(如上所述)。这些文件由平台读取,由此自动生成DTO。
* spring.xml文件中声明的Bean不会自动生成。
https://wiki.hybris.com/display/release5/Generating+Beans+and+Enums有更多相关信息。