Type Conversion

Dev.Hammy·2024년 4월 8일
0

반응형 스택에서 이에 상응하는 내용 보기

기본적으로 필드의 @NumberFormat@DateTimeFormat을 통한 사용자 정의 지원과 함께 다양한 숫자 및 날짜 유형에 대한 포맷터가 설치됩니다.

Java 구성에 사용자 정의 포맷터 및 변환기를 등록하려면 다음을 사용하십시오.

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

	@Override
	public void addFormatters(FormatterRegistry registry) {
		// ...
	}
}

XML 구성에서 동일한 작업을 수행하려면 다음을 사용하십시오.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		https://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/mvc
		https://www.springframework.org/schema/mvc/spring-mvc.xsd">

	<mvc:annotation-driven conversion-service="conversionService"/>

	<bean id="conversionService"
			class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
		<property name="converters">
			<set>
				<bean class="org.example.MyConverter"/>
			</set>
		</property>
		<property name="formatters">
			<set>
				<bean class="org.example.MyFormatter"/>
				<bean class="org.example.MyAnnotationFormatterFactory"/>
			</set>
		</property>
		<property name="formatterRegistrars">
			<set>
				<bean class="org.example.MyFormatterRegistrar"/>
			</set>
		</property>
	</bean>

</beans>

기본적으로 Spring MVC는 날짜 값을 구문 분석하고 형식화할 때 요청 Locale을 고려합니다. 이는 날짜가 "input" 양식 필드가 있는 문자열로 표시되는 양식에 적용됩니다. 그러나 "date" 및 "time" 양식 필드의 경우 브라우저는 HTML 사양에 정의된 고정 형식을 사용합니다. 이러한 경우 날짜 및 시간 형식을 다음과 같이 사용자 정의할 수 있습니다.

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

	@Override
	public void addFormatters(FormatterRegistry registry) {
		DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
		registrar.setUseIsoFormat(true);
		registrar.registerFormatters(registry);
     	}
}

[Note]
FormatterRegistrar 구현을 언제 사용해야 하는지에 대한 자세한 내용은 FormatterRegistrar SPIFormattingConversionServiceFactoryBean을 참조하세요.

0개의 댓글