[SPRING] Spring 4.0에서의 문자열 변환
SPRINGSpring 4.0에서의 문자열 변환
나는 봄 4.0.0 M3에서 자신을 교육하고있다. 다음은 코드입니다.
콩
package org.chebus.springs;
import java.util.Date;
public class Traingle {
private String name;
private int height;
private Date date;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public void drawShape() {
System.out.println(getName() + " Traingle height " + getHeight()
+ " Date = " + getDate());
}
}
본관
ApplicationContext ctx = new ClassPathXmlApplicationContext("org/chebus/springs/Spring.xml");
Traingle traingle = ctx.getBean("traingle",Traingle.class);
traingle.drawShape();
XML 구성
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id = "traingle" class="org.chebus.springs.Traingle">
<property name="name" value = "RightAngled"/>
<property name="height" value = "20"/>
<property name="date" value = "2013-09-10"/>
</bean>
<bean id="dateEditor"
class="org.springframework.beans.propertyeditors.CustomDateEditor">
<constructor-arg>
<bean class="java.text.SimpleDateFormat">
<constructor-arg value="yyyy-MM-dd" />
</bean>
</constructor-arg>
<constructor-arg value="true" />
</bean>
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="java.util.Date">
<ref local="dateEditor" />
</entry>
</map>
</property>
</bean>
</beans>
예외:
내가 어디로 잘못 가고 있는지 확실하지 않습니다. 당신의 도움을 주셔서 감사합니다. 감사!
해결법
-
==============================
1.잘 잡으십시오, 이것은 Spring 4.0+에서 새로운 동작으로 보이고, 여러분의 코드는 Spring의 3.2.x 버전에서 깨끗하게 작동합니다.
잘 잡으십시오, 이것은 Spring 4.0+에서 새로운 동작으로 보이고, 여러분의 코드는 Spring의 3.2.x 버전에서 깨끗하게 작동합니다.
이유는 customEditors의 유형이 CustomEditorConfigurer가 Spring 4.0 이상으로 변경되었습니다. Spring 3.2.x에서 Map
유형 이었지만 Map , Class Spring 4.0 이상에서 PropertyEditor >>를 확장합니다. 해결 방법은 다음과 같이 사용자 정의 PropertyEditorRegistrar를 대신 작성하는 것입니다.
import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.beans.PropertyEditorRegistrar; import org.springframework.beans.PropertyEditorRegistry; import org.springframework.beans.propertyeditors.CustomDateEditor; public class CustomDateEditorRegistrar implements PropertyEditorRegistrar { @Override public void registerCustomEditors(PropertyEditorRegistry registry) { registry.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), false)); } }
구성에서이를 사용하려면 다음을 수행하십시오.
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="propertyEditorRegistrars"> <list> <bean class="dateeditor.CustomDateEditorRegistrar"/> </list> </property> </bean>
-
==============================
2.봄에는 기본적으로 날짜 값이 내장되어 있지 않습니다. 여기 있습니다 : 스프링 XML 구성 파일에서 Java Date 객체를 초기화하는 방법은 무엇입니까?
봄에는 기본적으로 날짜 값이 내장되어 있지 않습니다. 여기 있습니다 : 스프링 XML 구성 파일에서 Java Date 객체를 초기화하는 방법은 무엇입니까?
from https://stackoverflow.com/questions/18706869/string-to-date-conversion-in-spring-4-0 by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Mockito.when 같은 물건에 여러 번 전화를? (0) | 2019.03.17 |
---|---|
[SPRING] spring mvc rest controller에서 base64로 인코딩 된 바이트 [] 대신 이진 데이터를 반환하는 방법 (0) | 2019.03.17 |
[SPRING] 스프링 캐스팅 자동 캐스팅 (0) | 2019.03.17 |
[SPRING] Spring 보안의 모든 요청에서 데이터베이스의 UserDetails 객체 다시로드 (0) | 2019.03.17 |
[SPRING] 봄 표현 읽기 파일 내용 (0) | 2019.03.17 |