Beanに値を渡すエラー

java javabeans spring
Beanに値を渡すエラー

springに整数を渡すとエラーが発生します。

portListenerService.java:

@Required
public final void setDevicePort(Integer devicePort) {
    this.devicePort= devicePort;
}

これはこれを行う正しい方法ですか? エラーが発生しているため:

_
org.springframework.beans.factory.BeanCreationException:ServletContextリソースで定義された「portListenerService」という名前のBeanの作成エラー
[/WEB-INF/service-config.xml]: Initialization of bean failed; nested
例外はorg.springframework.beans.TypeMismatchExceptionです。タイプ[java.lang.String]のプロパティ値をプロパティ ‘devicePort’の必須タイプ[int]に変換できませんでした。ネストされた例外はjava.lang.IllegalArgumentException:オリジナルはnullであってはなりません
_

`application.properties`からポートをプルする代わりにハードコードした場合でも、同じエラーが発生します。 他の問題がありますか?

  1  0


ベストアンサー

`devicePort`関連のコードは、このhttp://forum.springsource.org/showthread.php?t=77878[discussion]のようにjavabeanの仕様に違反している可能性がありますか?

0


フィールドのタイプとは関係ない場合があります。 通常、これはセッターに問題がある場合に発生します。セッターが戻り値型「void」で存在し、フィールドが小文字で始まる必要があることを確認してください。

例えば;私は最近同じ問題を抱えており、プロパティ内の手紙の1つがセッターで異なるケースを持っていることがわかりました。

    ...

    ...

次のような正しいクラスのプロパティの定義;

protected Long stateLogIntervalms;

ただし、このような不正なセッターの定義。

public void setStateLogIntervalMs(Long stateLogIntervalms) {
    this.stateLogIntervalms = stateLogIntervalms;
}

最後の2番目の文字「M」は、xmlプロパティおよびjavaクラスで使用したものとは大文字と小文字が異なることに気付くことができます。

ハッピーコーディング:)

0


タイトルとURLをコピーしました