繁体   English   中英

NotWritablePropertyException-初始化上下文时-Spring

[英]NotWritablePropertyException - When context is initialized - Spring

这在春季社区是一个很普遍的问题。 但是,即使参考了许多建议和答案,我也无法使下面的程序正常工作。

我需要在Spring bean中注入String类型的属性。

这是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>

这是Spring 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)

非常感谢您指出我的错误的任何帮助和建议。

提前致谢!

authCode是字符串属性,应设置类似以下属性

<bean id="BzoneMessageTransformer" class="com.test.wsg.RequestMessageTransformer">
    <property name="converAndMarshal" value="false" />
    <property name="authCode" value="BZ" />        

</bean>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM