property manager의 단점
스프링 3.0 부터 추가
public class EventConverter {
public static class StringToEventConverter implements Converter<String, Event> {
@Override
public Event convert(String source) {
return newEvent(Integer.parseInt(source));
}
}
public static class EventToStringConverter implements Converter<String, Event> {
@Override
public String convert(Event source) {
return source.getId().toString();
}
}
}
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addFommatters(FormatterRegistry registry) {
registry.addConverter(new EventConverter.StringToEventConverter());
}
}
public class EventFormatter implements Formatter<Event> {
@Override
public Event parse(String text, Locale locale) throws ParseException {
return new Event(Integer.parseInt(text));
}
@Override
public String print(Event object, Locale locale) {
return object.getId().toString();
}
}
사용 방법
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addFommatters(FormatterRegistry registry) {
registry.addFormatter(new EventFormatter());
}
}