728x90
Command 객체
Spring 프레임워크에서 커맨드 객체(Command Object)는 웹 애플리케이션에서 사용자로부터 폼(form) 데이터를 수신하고 처리하기 위해 사용되는 객체입니다. 커맨드 객체는 일반적으로 HTML 폼(form) 필드의 값을 수신하고 이를 Java 객체로 변환하여 컨트롤러(Controller)에서 처리합니다. 주로 데이터 바인딩 및 검증을 수행하는 데 사용됩니다.
Command 객체 주요 특징
- 데이터 바인딩 : 사용자가 웹 폼을 제출하면, Spring은 폼 필드의 이름과 일치하는 커맨드 객체의 프로퍼티에 폼 데이터를 자동으로 바인딩(bind)합니다. 이렇게 하면 개발자는 직접 폼 데이터를 파싱하고 매핑할 필요가 없으므로 편리합니다.
- 데이터 검증: 커맨드 객체를 사용하면 폼 데이터의 유효성을 검증할 수 있습니다. Spring은 데이터 바인딩 이후에 검증 어노테이션(예: @NotBlank, @Email, @Min, @Max, ...)을 사용하여 데이터의 유효성을 검사합니다.
- 컨트롤러(Controller)에서 사용 : 커맨드 객체는 컨트롤러 메서드의 매개변수로 전달될 수 있습니다. 컨트롤러 메서드는 커맨드 객체를 매개변수로 받아서 해당 데이터를 처리하고 뷰로 전달할 수 있습니다.
- 뷰(View)와 연동 : 커맨드 객체를 사용하면 뷰에서도 데이터를 편리하게 출력할 수 있습니다. 뷰에서는 커맨드 객체의 프로퍼티에 접근하여 데이터를 표시할 수 있습니다.
Command 객체 정의
- 커맨드 객체 클래스 생성 : 커맨드 객체를 나타내는 Java 클래스를 만듭니다. 이 클래스의 프로퍼티는 폼 필드의 이름과 일치하도록 설정합니다.
- 컨트롤러에서 커맨드 객체 사용 : 컨트롤러 메서드의 매개변수로 커맨드 객체를 선언하고, Spring이 자동으로 데이터 바인딩 및 검증을 수행하도록 설정합니다.
- 뷰에서 커맨드 객체 사용 : 뷰에서 커맨드 객체의 프로퍼티를 사용하여 데이터를 표시합니다.
GitHub
https://github.com/Qkrwnsgus0522/Spring
728x90