Java(70)
-
[유효성검증 #3] 유효성 검증 아키텍처 설계
전체 아키텍처 흐름도 이미지 Spring AOP 기반 유효성 검증 처리 구조 정리Spring에서 DTO 유효성 검증을 처리할 때, 기본 제공되는 BeanValidation만으로는 부족한 경우가 있다.이럴 때 커스텀 Validator를 추가로 적용할 수 있도록 구조를 설계하며, 두 가지 방식을 함께 활용한다.✅ BeanValidation + CustomValidation을 함께 사용하도록 구성한다.✅ 유효성 검증을 AOP로 감싸 공통 포맷으로 처리하도록 만든다.✅ 어노테이션(@CustomValidate)을 통해 자동으로 Validator를 스캔하고 매핑한다. 전체 흐름 개요Controller (with @CheckValidation) ↓ValidationAspect (AOP) ├─ B..
2025.06.09 -
[유효성검증 #2] Bean Validation를 이용한 유효성 검증
Spring Bean Validation과 커스텀 어노테이션 Spring Boot에서 사용자 입력값을 검증할 때 가장 많이 사용하는 방식은 Bean Validation이다. 간단한 유효성 조건은 어노테이션 한 줄로 처리할 수 있고, 복잡한 로직이 필요한 경우에는 커스텀 유효성 어노테이션을 직접 만들어 적용할 수 있다.이 글에서는 Bean Validation의 기본 사용법과 함께 @PasswordValidate라는 커스텀 어노테이션을 만들어서 비밀번호 조건을 검사하는 과정을 정리해본다. 1. DTO에 유효성 어노테이션 적용public static class TestV2Dto { // spring bean validation (기본) @NotBlank private String name; ..
2025.06.06 -
[유효성검증 #1] Validator + BindingResult를 이용한 유효성 검증
Spring에서 Validator를 이용한 커스텀 유효성 검사와 BindingResult 활용Spring에서는 사용자 입력 값을 검증하기 위해 Bean Validation(JSR-380)을 많이 사용하지만, 더 복잡한 조건이 있거나 커스터마이징이 필요한 경우에는 org.springframework.validation.Validator를 직접 구현하여 사용할 수 있다. 이 포스팅에서는 Validator를 이용한 유효성 검사와 BindingResult를 통해 검증 결과를 처리하는 방법을 소개한다. 1. Validator 인터페이스 구현하기 Spring의 Validator 인터페이스는 두 가지 메서드를 구현해야 한다:supports(Class clazz): 이 Validator가 어떤 클래스 타입을 지원하는지..
2025.06.06 -
[File I/O #6] File이외의 I/O Stream 정리 (Object, Audio, Piped 등)
목차 1. Resource와 Stream I/O 이해2. Resource 구현체 이해하기3. InputStream/OutputStream 이해하기4. InputStreamReader, BufferedReader 이해하기5. Multipartfile 처리하기6. File 이외의 I/O stream 정리 File I/O #6 — 고급 입출력 스트림 정리 (Object, Audio, Piped 등) 1. ObjectInputStream / ObjectOutputStream객체를 바이트 형태로 저장하거나 다시 객체로 복원하는 데 사용됩니다.직렬화(Serialization)와 역직렬화(Deserialization) 기능을 제공하죠.// 객체 저장 (직렬화 - 바이트로 저장)ObjectOutputStream oo..
2025.04.20 -
[File I/O #4] InputStreamReader & BufferedReader 완전 분석
목차 1. Resource와 Stream I/O 이해2. Resource 구현체 이해하기3. InputStream/OutputStream 이해하기4. InputStreamReader, BufferedReader 이해하기5. Multipartfile 처리하기6. File 이외의 I/O stream 정리 File I/O #4 — InputStreamReader & BufferedReader 완전 분석 InputStreamReader란? InputStreamReader는 바이트 스트림(InputStream)을 문자 스트림(Reader)으로 변환해주는 클래스입니다.즉, 파일이나 네트워크에서 읽은 바이트를 UTF-8 같은 문자 인코딩을 고려해서 문자 단위로 읽게 해줍니다.InputStream is = new Fi..
2025.04.20 -
[File I/O #3] InputStream과 OutputStream 완전 정리
목차 1. Resource와 Stream I/O 이해2. Resource 구현체 이해하기3. InputStream/OutputStream 이해하기4. InputStreamReader, BufferedReader 이해하기5. Multipartfile 처리하기6. File 이외의 I/O stream 정리 File I/O #3 — InputStream과 OutputStream 완전 정리 InputStream이란? InputStream은 Java에서 바이트 단위로 데이터를 읽기 위한 추상 클래스입니다.파일, 메모리, 네트워크 등 다양한 소스로부터 데이터를 읽을 수 있습니다.int read(); // 한 바이트 읽기int read(byte[] b); ..
2025.04.20