Loading...
Spring Framework Reference Documentation 7.0.2의 Validation, Data Binding, and Type Conversion의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Validation을 비즈니스 로직으로 고려하는 것에는 장단점이 있으며, Spring은 둘 중 어느 것도 배제하지 않는 validation과 데이터 바인딩을 위한 설계를 제공합니다. 구체적으로, validation은 웹 티어에 묶여 있어서는 안 되며, 쉽게 로컬라이즈할 수 있어야 하고, 사용 가능한 어떤 validator든지 플러그인할 수 있어야 합니다.
이러한 고려 사항을 바탕으로, Spring은 애플리케이션의 모든 레이어에서 기본적이면서도 매우 유용한 Validator contract를 제공합니다.
데이터 바인딩은 사용자 입력이 애플리케이션의 도메인 모델(또는 사용자 입력을 처리하기 위해 사용하는 어떤 객체이든지)에 동적으로 바인딩되도록 하는 데 유용합니다.
Spring은 바로 그 목적을 위해 적절한 이름의 DataBinder를 제공합니다.
Validator와 DataBinder는 validation 패키지를 구성하며, 주로 웹 레이어에서 사용되지만 그에 국한되지는 않습니다.
BeanWrapper는 Spring Framework의 근본적인 개념이며 많은 곳에서 사용됩니다.
그러나 직접 BeanWrapper를 사용할 필요는 아마도 없을 것입니다.
하지만 이것은 레퍼런스 문서이기 때문에, 어느 정도 설명이 필요하다고 느낍니다.
만약 BeanWrapper를 사용하게 된다면, 데이터를 객체에 바인딩하려고 할 때 사용할 가능성이 가장 크기 때문에, 이 장에서 BeanWrapper를 설명합니다.
Spring의 DataBinder와 더 하위 수준의 BeanWrapper는 모두 프로퍼티 값을 파싱하고 포맷하기 위해 PropertyEditorSupport implementation을 사용합니다.
PropertyEditor와 PropertyEditorSupport 타입은 JavaBeans 명세의 일부이며 이 장에서 함께 설명합니다.
Spring의 core.convert 패키지는 일반적인 타입 변환 기능을 제공하며, UI 필드 값을 포매팅하기 위한 상위 수준의 format 패키지도 제공합니다.
이 패키지들은 PropertyEditorSupport implementation보다 더 단순한 대안으로 사용할 수 있습니다.
이들 역시 이 장에서 논의됩니다.
Spring은 설정 인프라스트럭처와 Spring 자체의 Validator contract에 대한 어댑터를 통해 Java Bean Validation을 지원합니다.
애플리케이션은 Java Bean Validation에 설명된 대로 한 번 글로벌하게 Bean Validation을 활성화하고, 모든 validation 요구 사항에 대해 오로지 그것만을 사용할 수 있습니다.
웹 레이어에서, 애플리케이션은 Configuring a DataBinder에 설명된 대로 DataBinder마다 컨트롤러 로컬 Spring Validator 인스턴스를 추가로 등록할 수 있으며, 이는 커스텀 validation 로직을 플러그인하는 데 유용할 수 있습니다.
Resources
Validation Using Spring’s Validator Interface