[SPRING] 스프링 XML 구성 파일에서 Java Date 객체를 초기화하는 방법은 무엇입니까?
SPRING스프링 XML 구성 파일에서 Java Date 객체를 초기화하는 방법은 무엇입니까?
이 간단한 예를 생각해보십시오.
public class Person
{
private String name;
private Date dateOfBirth;
// getters and setters here...
}
Person을 Spring 빈으로 초기화하기 위해서 다음과 같이 작성할 수있다.
<bean id = "Michael" class = "com.sampleDomainName.Person">
<property name = "name" value = "Michael" />
</bean>
하지만 위의 bean 정의에서 어떻게 생년월일을 설정할 수 있습니까?
예를 들면. dateOfBirth를 다음과 같이 설정하려고합니다.
1998-05-07
해결법
-
==============================
1.다른 POJO (있는 그대로)로 취급하십시오.
다른 POJO (있는 그대로)로 취급하십시오.
<property name="dateOfBirth"> <bean class="java.util.Date" /> </property>
명시 적 값 (예 : 1975-04-10)을 사용해야하는 경우, 다른 생성자 중 하나를 호출하십시오 (연도 - 월 - 일을 사용하는 것이 더 이상 사용되지 않습니다). Spring이 이미 롤오버 한 명시 적 java.beans.PropertyEditor를 사용할 수도 있습니다 (6.4.2 절 참고, 사용자 고유의 편집기를 작성하여 사용자 고유의 유형으로 등록 할 수 있음). config에 CustomEditorConfigurer를 등록해야합니다.
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map> <entry key="java.util.Date" value="org.springframework.beans.propertyeditors.CustomDateEditor"/> </map> </property> </bean>
그런 다음 데이터는 다음과 같습니다.
<property name="dateOfBirth" value="1975-04-10" />
나는 Date가 실제로 instant-in-time이기 때문에 Date가 birth-of-birth를 저장할 적절한 데이터 유형이 아니라고 추가 할 수 있습니다. Joda를보고 LocalDate 클래스를 사용하는 것이 좋습니다.
-
==============================
2.여기에 언급 된 답변 중 하나가 유용하지만 추가 정보가 필요합니다. CustomDateEditor의 생성자 인수를 제공해야합니다.
여기에 언급 된 답변 중 하나가 유용하지만 추가 정보가 필요합니다. CustomDateEditor의 생성자 인수를 제공해야합니다.
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map> <entry key="java.util.Date"> <ref local = "customDateEditor" /> </entry> </map> </property> </bean> <bean id = "customDateEditor" 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>
이제 우리는 할 수있다.
<property name="dateOfBirth" value="1998-05-07" />
-
==============================
3.Spring에서 날짜를 bean 속성에 삽입 - CustomDateEditor
Spring에서 날짜를 bean 속성에 삽입 - CustomDateEditor
이 백서에서는 두 가지 제안 사항을 제시합니다.
CustomDateEditor가 Spring 4.0+에서 지원되지 않고 Factory Bean이 사용하기에 충분히 쉽기 때문에 "Factory Bean"을 제안합니다.
<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="dateFormat" class="java.text.SimpleDateFormat"> <constructor-arg value="yyyy-MM-dd" /> </bean> <bean id="customer" class="com.mkyong.common.Customer"> <property name="date"> <bean factory-bean="dateFormat" factory-method="parse"> <constructor-arg value="2010-01-31" /> </bean> </property> </bean> </beans>
-
==============================
4.CustomDateEditor를 사용하십시오. 초기에는 봄이었습니다.
CustomDateEditor를 사용하십시오. 초기에는 봄이었습니다.
from https://stackoverflow.com/questions/11198297/how-to-initialize-a-java-date-object-in-spring-xml-configuration-file by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 서버 측 이미지 생성 용 JavaFX (0) | 2019.01.14 |
---|---|
[SPRING] RESTful 끝점에 대한 스프링 폼 기반 로그인을 비활성화하려면 어떻게합니까? (0) | 2019.01.14 |
[SPRING] Spring을 사용하여 인증이 필요한 MongoDB에 연결하는 방법 (0) | 2019.01.14 |
[SPRING] Spring JPA의 기존 엔티티를 참조하는 새로운 엔티티를 저장하는 방법은 무엇입니까? (0) | 2019.01.14 |
[SPRING] Spring Security 3.2에서 Access-Control-Origin 필터를 문제없이 설치하는 방법 (0) | 2019.01.14 |