Language/Java(5)
-
@Valid와 rejectValue()로 유연하게 유효성 검증하기
@Valid 어노테이션과 BindingResult 객체를 통해 검증을 수행하면, 태그 하나당 글자 길이나 각 필드 값을 서로 비교해야 하는 상대적으로 복잡한 검증이 필요할 때 유용하다. @Valid 어노테이션주로 Controller 또는 Service 계층에서 사용자로부터 받은 데이터 처리 시 사용DTO나 Form 클래스에 적용하여 요청 파라미터의 유효성을 검사@NotBlank, @Size, @Pattern 등 다양한 검증용 어노테이션 제공단점은 복잡한 비교 검증 시 유연성 부족, 별도의 Validator클래스 또는 수동 검증 로직 필요public class Board { @NotBlank(message = "제목을 입력하세요") @Size(max = 100, message = "100자 이하..
2024.07.02 -
JAVA 싱글톤 알아야 할 것
싱글톤(Singleton Pattern)이란?클래스의 인스턴스가 하나만 생성되도록 보장하는 디자인 패턴이다.즉, 프로그램 실행 시점에 항상 동일한 인스턴스를 사용하게 된다.이는 공유 리소스 관리, 일관된 동작 보장, 메모리 절약 등에 유용하게 활용된다. 예시1. 즉시 초기화 (Eager Initialization)클래스가 로드되자마자 인스턴스가 생성되므로 필요할 때 항상 인스턴스를 사용할 수 있다.public class ExampleSingleton { private static final ExampleSingleton instance = new ExampleSingleton(); private ExampleSingleton() { } public static ExampleSingl..
2024.07.01 -
Redirect VS Forward 개념 및 특징
1. Redirect2. Forward3. Redirect와 Forward 차이
2024.06.16 -
세션과 쿠키 : Spring Boot를 활용한 세션 관리와 자동 로그인 구현
1. 서론웹 사이트에 로그인한 후 며칠 뒤에 다시 접속하면 자동으로 로그인되는 경우가 있다.반면, 몇 분간 사이트를 사용하지 않으면 세션이 만료되어 다시 로그인해야 하는 경우도 있다. 이는 사용자의 브라우저에 정보를 저장하는 세션과 쿠키의 인증 방식과 관련있다. 2. HTTP 특성과 세션, 쿠키의 필요성 2.1 HTTP 특성비연결성 : 클라이언트가 요청한 후 응답을 받으면 연결을 끊어버림무상태 : 통신이 끝나면 상태를 유지2.2 세션과 쿠키의 도입쿠키와 세션은 HTTP의 특성을 보완하기 위해 사용되는 기술이다.3. 쿠키 개념 및 문제점 3.1 쿠키쿠키는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각으로 사용자의 방문 정보, 로그인 여부 등을 저장하는 데 사용된다. HTTP 헤더에 포함되어 클..
2024.06.16 -
추상 클래스와 인터페이스 차이점 이해하기
추상 클래스는 일부 메서드를 구현할 수 있지만, 인터페이스는 모든 메서드가 추상이며 구현을 갖지 않는다. 개념 먼저, 추상 클래스와 인터페이스 개념을 알아보자 추상 클래스란? abstract 키워드를 사용하여 선언되는 클래스로, 하나 이상의 추상 메서드를 포함한다.추상 메서드는 선언만 존재하고 구현은 하지 않으며, 상속받는 하위 클래스에서 구현 내용을 완성해야 한다. 즉, 추상 클래스는 설계 템플릿 역할을 하며 공통적인 속성과 기능을 정의하고 하위 클래스에 구체적인 구현을 맡긴다. 인터페이스란? interface 키워드를 사용하여 선언되는 클래스로, 상수(static final)와 추상 메서드(abstract method)의 집합이다. 인터페이스는 객체의 행동에 초점을 맞추고, 구체적인 구현은 인터페이스..
2024.04.15