Spring
-
[Spring] Convert VS FormatterSpring 2025. 4. 18. 15:27
Spring 🔥 Spring에서 데이터를 변환하거나 포맷팅할 때 사용되는 두 가지 핵심 인터페이스 Converter와 Formatter이다. ✅ 정리 한 줄 요약 Converter = 시스템 내부의 변환 도우미,Formatter = 사용자와 소통하는 포맷 마스터 ConvertFormatter주요 목적자료형간의 변환문자열 ↔ 객체 + 포맷 처리변환 방향단방향양방향사용 위치내부 로직, 시스템 처리사용자 입출력, UI 표시포맷 지원없음날짜, 숫자 포맷등록 방법addConverter(...)addFormatter(...)어노테이션없음@dateTimeFormat, @NumberFormat 🧩 예시로 보는 차이점public class StringToEnumConverter implements ..
-
[Spring] Spring FormatterSpring 2025. 4. 18. 14:38
Spring Spring Formatter 🔥 FormattingConversionService 🎯 ConversionService와 Formatter를 결합한 구현체로 타입 변환과 포맷팅이 필요한 모든 작업을 한 곳에서 수행할 수 있도록 설계되어 있어서 다양한 타입의 변환과 포맷팅을 쉽게 적용할 수 있다. FormattingConversionServiceDefaultFormattingConversionServiceFormatting를 지원하는 ConversionServiceFormattingConversionService + 통화, 날짜 관련 formatter추가Formatter를 지원하는 ConversionService■ 어댑터 패턴을 사용하여 Formatter가 ..
-
[Spring] FormatterSpring 2025. 4. 18. 14:17
Spring Formater 🔥 주로 사용자 지정 포맷을 적용해 데이터 변환을 처리할 때 사용된다. 🎯 ConvertService 비슷한 목적을 가지지만 문자열을 객체로 변환하거나 객체를 문자열로 변환하는 과정에서 포맷팅을 세밀하게 제어할 수 있다. Why?유저 입력값은 대부분 "문자열" 형태백엔드에선 LocalDate, Integer, BigDecimal 같은 객체 타입 사용 → 이때 Formatter가 등장해서 변환 + 포맷팅을 도와준다.✅ 기본 구조public interface Formatter { T parse(String text, Locale locale); // 문자열 → 객체 String print(T object, Locale lo..
-
[Spring] ConverterSpring 2025. 4. 17. 20:18
Spring Convert 🔥 Convert 🎯 데이터 유형 간 변환을 담당하는 메커니즘, 주로 웹 요청 파라미터를 Java 객체로 변환하거나 그 반대로 변환할 때 사용되며 커스텀 변환 로직을 정의할 수 있다.✅ 기본 구현public interface Converter { T convert(S source);} S: 원본 타입, T: 목표 타입 ✅ 커스텀 Converter 사용 예시 String → Enum, Stringpublic class StringToGradeConverter implements Converter { @Override public Grade convert(String source) { return Grad..
-
[Spring] Converter InterfaceSpring 2025. 4. 17. 17:46
Spring Converter Interface 🔥 Spring에서 특정 타입을 다른 타입으로 변환할 때 사용하는 인터페이스 🎯 타입 변환 로직을 캡슐화하여 코드의 재사용성을 높이고 다양한 곳에서 타입 변환이 일관되게 수행되도록 돕는다. ✅ 새로운 타입의 변환 ex) localhost:8080/type-converter?person=wonuk:120 → Person 객체로 변환public class Person { private String name; private String age;} Person이라는 class가 위와 같을때, wonuk: 120 → TypeConverter → name: wonuk, age:10으로 변환시켜준다. Spring이 제공하는 인터페이스▶ imp..
-
[Spring]TypeConverterSpring 2025. 4. 17. 17:24
Spring TypeConverter 🔥 Spring에서 객체의 타입을 서로 변환하는 데 사용되는 인터페이스 🎯 Spring의 데이터 바인딩 과정에서 문자열을 특정 객체로 변환하거나 하나의 객체 타입을 다른 타입으로 변환할 때 사용한다.✅ 언제 사용 되는가? @RequestParam, @PathVariable, @ModelAttribute 등으로 값 받을 때폼 데이터를 자바 객체로 바꾸거나 반대로 변환할 때커스텀 객체가 필요한데 기본 변환기로 부족할 때 Ex) 상황 예시 ◆ 직접 변환 할 때@GetMapping("/age-check")public String checkAge(HttpServletRequest request) { String ageStr = re..
-
[Spring]WebMvcConfigurerSpring 2025. 4. 17. 16:25
Spring WebMvcConfigurer 🔥 Spring WebMvcConfigurer로 설정 퍼즐 맞추기 🎯 Spring MVC의 설정을 사용자 정의할 수 있도록 제공되는 인터페이스로 implements하여 설정을 확장하거나 커스터마이징할 수 있다. ✅주요 인터페이스HandlerMethodArgumentResolverHandlerMethodReturnValueHandlerHttpMessageConverter모두 인터페이스로 구현되어 있으며 대부분 구현되어 있다.Spring에서 기본적으로 제공하고 있다.개발자는 잘 사용하면 된다✅ 언제 사용 되는가? URL → 컨트롤러 매칭 커스터 마이징 할때메세지 컨버터 추가/수정할 때CORS 설정할때정적 리소스 핸들링 할때인터셉터 ..
-
[Spring] HttpMessageConverter(2)Spring 2025. 4. 17. 15:46
Spring 흐름 https://note8770.tistory.com/124 [Spring] HttpMessageConverterSpringHttpMessageConverter우선 순위 🔥 HttpMessageConverter 🎯 View(화면 표시)를 응답하는 것이 아닌, Rest API(HTTP API)로 JSON, TEXT, XML 등의 데이터를 응답 Message Body에 직접 입력하는 경우 HttpMessageConverter를note8770.tistory.comhttps://note8770.tistory.com/125 [Spring] ArgumentResolverSpring RequestMappingHandlerAdapter ArgumentResolver ReturnValueHandler..