2.7에서 3.1 upgrade 시 EgovBindingInitializer 질문
- 작성자 :
- 현*욱
- 작성일 :
- 2016-03-31 18:10:16
- 조회수 :
- 1,716
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
기존 2.7 에서의 설정은 다음과 같습니다.
<egov-com-servlet.xml>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="egovframework.com.cmm.web.EgovBindingInitializer" >
<!-- <property name="validator" ref="validator" /> -->
</bean>
</property>
<property name="customArgumentResolvers">
<list>
<bean class="egovframework.rte.ptl.mvc.bind.CommandMapArgumentResolver"/>
</list>
</property>
<!-- requestbody로 어노테이션 설정시 json형태로 반환한다. -->
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>
<EgovBindingInitializer.java>
package egovframework.com.cmm.web;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.beans.propertyeditors.StringTrimmerEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.context.request.WebRequest;
public class EgovBindingInitializer extends org.springframework.web.bind.support.ConfigurableWebBindingInitializer {
public void initBinder(WebDataBinder binder, WebRequest request) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
binder.registerCustomEditor(String.class, new StringTrimmerEditor(false));
super.initBinder(binder, request);
}
}
이경우 DataBinder is already initialized - call setAutoGrowNestedPaths before other configuration error 가 납니다.
이를 어떻게 해결해야 하는지 답변 부탁 드립니다.
감사합니다.
<egov-com-servlet.xml>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="egovframework.com.cmm.web.EgovBindingInitializer" >
<!-- <property name="validator" ref="validator" /> -->
</bean>
</property>
<property name="customArgumentResolvers">
<list>
<bean class="egovframework.rte.ptl.mvc.bind.CommandMapArgumentResolver"/>
</list>
</property>
<!-- requestbody로 어노테이션 설정시 json형태로 반환한다. -->
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>
<EgovBindingInitializer.java>
package egovframework.com.cmm.web;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.beans.propertyeditors.StringTrimmerEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.context.request.WebRequest;
public class EgovBindingInitializer extends org.springframework.web.bind.support.ConfigurableWebBindingInitializer {
public void initBinder(WebDataBinder binder, WebRequest request) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
binder.registerCustomEditor(String.class, new StringTrimmerEditor(false));
super.initBinder(binder, request);
}
}
이경우 DataBinder is already initialized - call setAutoGrowNestedPaths before other configuration error 가 납니다.
이를 어떻게 해결해야 하는지 답변 부탁 드립니다.
감사합니다.
A
현걸욱님, 안녕하세요.
실행환경 2.7에서 3.1로 올라가면서 스프링 버전이 3.2.9를 사용합니다.
변경된 스프링 버전을 통해 기술되어 있는 AnnotationMethodHandlerAdapter 등이 Deprecated 처리되어 있습니다.
아래 가이드의 8번 부분을 확인해 보시고, 관련 내용을 수정해서 적용해 보시기 바랍니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rtemigration3.0
에러의 경우 DataBinder가 이미 설정되어 있어서 생기는 오류로 보이며, 전체 설정 혹은 전체 로그정보를 알 수 없어 분석이 불가하여 자세히 안내는 어려울 것 같습니다. 위의 가이드와 비교해보시면서 작업을 진행해 보시기 바랍니다.
감사합니다.
실행환경 2.7에서 3.1로 올라가면서 스프링 버전이 3.2.9를 사용합니다.
변경된 스프링 버전을 통해 기술되어 있는 AnnotationMethodHandlerAdapter 등이 Deprecated 처리되어 있습니다.
아래 가이드의 8번 부분을 확인해 보시고, 관련 내용을 수정해서 적용해 보시기 바랍니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rtemigration3.0
에러의 경우 DataBinder가 이미 설정되어 있어서 생기는 오류로 보이며, 전체 설정 혹은 전체 로그정보를 알 수 없어 분석이 불가하여 자세히 안내는 어려울 것 같습니다. 위의 가이드와 비교해보시면서 작업을 진행해 보시기 바랍니다.
감사합니다.