2016-10-17 2 views
0

이것은 봄 공동체에서 상당히 자주 발생하는 질문입니다. 그러나 많은 제안과 답변을 언급 한 후에도 아래 프로그램을 올바로 작동시키지 못했습니다.NotWritablePropertyException - 컨텍스트가 초기화 될 때 - 봄

스프링 빈에 String 유형의 속성을 삽입해야합니다.

 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) 
: 컨텍스트가 초기화지고 아래의 오류를 받기

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; 
    } 

    } 

:

다음
<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> 

는 스프링 빈입니다 : 여기

는 빈 정의입니다

내 실수를 지적하기위한 도움과 제안은 많이 감사하겠습니다.

미리 감사드립니다.

+0

이 같은 속성 뭔가를 설정해야합니다 문자열 속성입니다? – Mahesh

+0

@Mahesh 버전이 사용되었습니다 : 4.1.4.RELEASE – Vignesh

+0

에 의해 당신은 bean을 구현하고 있습니다. where는 afterPropertiesSet() 메소드의 구현입니다. 당신은 클래스 – kuhajeyan

답변

0

AUTHCODE, 당신은 당신이 사용하는 스프링의 버전

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

</bean> 
+0

이 중첩 된 " ..."에 대한 간단한 대안 인이 옵션을 시도했지만 ... 여전히 동일한 오류가 발생했습니다. – Vignesh

관련 문제