Это может не иметь никакого отношения к типу поля. Обычно это происходит, когда есть проблема с установщиками, убедитесь, что установщик существует с типом возвращаемого значения void
, и ваши поля должны начинаться со строчной буквы, и установщик, очевидно, будет иметь верблюжий регистр для свойства с 'set' в качестве префикса.
например; Недавно у меня возникла та же проблема, и я узнал, что у одного из писем в собственности был другой случай в сеттере.
<bean name="gateway" class="com.xxxx.yyyy.zzz.MyClass" init-method="init">
...
<property name="stateLogIntervalms" value="${mux.state.log.interval.ms}" />
...
</bean>
определение свойства в моем классе для правильной, как следует;
protected Long stateLogIntervalms;
Однако определение сеттера неверно, как это;
public void setStateLogIntervalMs(Long stateLogIntervalms) {
this.stateLogIntervalms = stateLogIntervalms;
}
вы можете заметить, что вторая последняя буква 'M' отличается от той, что была у меня в свойстве xml и классе java.
Happy Coding:)