Это довольно распространенный вопрос в весеннем сообществе. Однако даже после ссылки на многие предложения и ответы, я не мог заставить программу ниже работать правильно.NotWritablePropertyException - Когда контекст инициализирован - Spring
Мне нужно ввести свойство String в Spring bean.
Вот определение компонента:
<bean id="AzoneMessageTransformer" class="com.test.wsg.RequestMessageTransformer">
<property name="converAndMarshal" value="false" />
</bean>
<bean id="BzoneMessageTransformer" class="com.test.wsg.RequestMessageTransformer">
<property name="converAndMarshal" value="false" />
<property name="authCode" >
<value>BZ</value>
</property>
</bean>
Вот весна фасоли:
public class RequestMessageTransformer implements InitializingBean {
private String authCode = null;
private boolean converAndMarshal = true;
public void setConverAndMarshal(boolean converAndMarshal) {
this.converAndMarshal = converAndMarshal;
}
public boolean isConverAndMarshal() {
return converAndMarshal;
}
public void setAuthCode(String authCode) {
this.authCode = authCode;
}
public String getAuthCode() {
return authCode;
}
}
Прием ниже сообщение об ошибке при контекст становится инициализирован:
at java.lang.Thread.run(Thread.java:744)
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'authCode' of bean class [com.test.wsg.RequestMessageTransformer]: Bean property 'authCode' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1067)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:926)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:95)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1502)
Любая помощь и предложения для указания моей ошибки очень ценятся.
Заранее благодарен!
Какой версии весной вы используете? – Mahesh
Используемая версия @Mahesh: 4.1.4.RELEASE – Vignesh
вы реализуете инициализацию bean-компонента, где реализуется метод afterPropertiesSet(). у вас был бы класс, скомпилированный на первом месте – kuhajeyan