1

私は豆の定義を持っています、例えば

<bean id="DsdDetectorLogic" class="my class" init-method="init" lazy-init="true" >
    <property name="threshold" value="#{ properties.threshold }" />
    <property name="lag" value="#{ properties.lag }" />
    ...
</bean>

特定のパラメーターに制約を追加する必要があります(lag)。このパラメーターが最大値の3または最小値の1を超える場合は、デフォルト値の1を取得する必要があります。さらに、このパラメーターが受信したという警告メッセージを受信する必要があります。結果としてデフォルト値。

コード内のフィールドの注釈にjavax.validation.constraints.Min/Maxを使用するソリューションに精通しています。

いくつかのSpring機能を使用してxmlファイルを編集することは可能ですか、それともセッターが呼び出されている間にjavaオブジェクトクラスから編集することが唯一の解決策ですか?

4

1 に答える 1

0

制約を確認し、xmlを介してデフォルト値を送信する方法を見つけたので、質問に部分的に答えますが、警告メッセージはまだパズルです。

SPeLを使用します:

<bean id="DsdDetectorLogic" class="my class" init-method="init" lazy-init="true" >
    <property name="threshold" value="#{ properties.threshold }" />
    <property name="lag" value="#{ (1 > new Integer(properties.lag ) or 
                                    new Integer(properties.lag ) > 3) ? 1 : 
                                    properties.lag  }" />
    ...
</bean>
于 2013-01-24T11:02:32.727 に答える