0

ラバ フローの 2 か所で春豆を使用する必要があります。Bean は 3 つのプロパティを取り、そのうちの 1 つは別の Bean です。メイン Bean を 1 か所で定義し、変更されたプロパティのみを上書きすることは可能ですか。これが私のBean宣言だとしましょう:

<custom-transformer name="soapFaultTransformer" class="com.xxx.xx.transformer.VelocityMessageTransformer">
<spring:property name="velocityEngine"  ref="velocityEngine" />
<spring:property name="templateName"    value="soapFault.vm" />
<spring:property name="beanClass">
    <spring:bean class="com.xxx.services.xx.Soap11Fault">
            <spring:property name="faultCode"   value="Client" />
            <spring:property name="faultString" value="Invalid Request" />
            <spring:property name="detail"      value="This request is not valid" />
    </spring:bean>
</spring:property>

以下の 2 つのプロパティを変更したいだけです。

 <spring:property name="faultString" value="Invalid Request" />
 <spring:property name="detail"      value="This request is not valid" />

出来ますか?

ありがとうございました

4

1 に答える 1

1

これに対する最善のアプローチは、共通のプロパティで構成されたグローバル抽象親 Bean を宣言し、必要な場所でそれを参照して、特定のプロパティを目的の値に設定することです。

以下は、SOAP 障害の抽象 Bean の宣言です。

<spring:beans>
    <spring:bean name="abstractSoap11Fault" abstract="true"
        class="com.xxx.services.xx.Soap11Fault">
        <spring:property name="faultCode" value="Client" />
    </spring:bean>
</spring:beans>

これを親 Bean として使用する場合、追加のプロパティを特定の値で指定します。

<custom-transformer name="soapFaultTransformer"
    class="com.xxx.xx.transformer.VelocityMessageTransformer">
    <spring:property name="velocityEngine" ref="velocityEngine" />
    <spring:property name="templateName" value="soapFault.vm" />
    <spring:property name="beanClass">
        <spring:bean parent="abstractSoap11Fault">
            <spring:property name="faultString" value="Invalid Request" />
            <spring:property name="detail"
                value="This request is not valid" />
        </spring:bean>
    </spring:property>
</custom-transformer>
于 2013-01-23T16:48:40.190 に答える