0

テスト ケースの実行中に、IBM RAD IDE 環境 (ランタイム JRE として IBM JDK 1.6) で問題が発生しました。同じコードが Springsource IDE (ランタイム JRE として Sun JDK 1.6) で正常に動作しています。それはJDKの問題ですか、それともSpringフレームワークの問題ですか。簡単なコード履歴: 以下のような Java Bean があります。

class User {
             final Map<Integer,String> securityQuestions = Collections.synchronizedMap(new HashMap<Integer,String>(MAX_SECURITY_QUESTIONS));
            final Map<Integer,String> securityAnswers = Collections.synchronizedMap(new HashMap<Integer,String>(MAX_SECURITY_QUESTIONS));

      public Map<Integer,String> getSecurityAnswers() {
            return securityAnswers;
        }

    public void setSecurityAnswer(Integer answerNumber, String answerText) {
            securityAnswers.put(answerNumber, answerText);
        }
   }

を使用して「securityAnswers」を検証しようとしているとき

ValidationUtils.rejectIfEmptyOrWhitespace(errors, "securityAnswers", "seqQans.obj.required","security Question list cannot be empty");

この例外が発生しています。

原因: org.springframework.beans.NotReadablePropertyException: Bean クラス [ユーザー] の無効なプロパティ 'securityAnswers': Bean プロパティ 'securityAnswers' が読み取れないか、無効なゲッター メソッドがあります: ゲッターの戻り値の型がパラメーターの型と一致しますか?セッター?org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:705) で org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:697) で org.springframework.validation.AbstractPropertyBindingResult.getActualFieldValue(AbstractPropertyBindingResult.java:99) ) org.springframework.validation.AbstractBindingResult.getFieldValue(AbstractBindingResult.java:226) で org.springframework.validation.ValidationUtils.rejectIfEmptyOrWhitespace(ValidationUtils.java:224) で org.springframework.

4

1 に答える 1

0

ごめん !しかし、RADがこれと関係があるとは思いません.例外は、これが起こっている理由を明確に述べています:

getter の戻り値の型は、setter のパラメーターの型と一致していますか?

答えはノーです:)

于 2012-01-24T19:50:41.950 に答える