3. 유효성 검사, 데이터 바인딩 및 유형 변환 by ys, sh

비지니스 로직으로서의 validation을 고려한 장단점이 있으며 Spring은 그 중 하나를 제외하지 않는 validation (그리고 데이터 바인딩)을위한 디자인을 제공합니다.

특히, 유효성 검사를 웹 계층에 연결해서는 안되며 지역화가 쉬워야하며 사용 가능한 유효성 검사기라면 플러그인 할 수 있어야합니다. 이러한 우려를 고려하여, Spring은 애플리케이션의 모든 레이어에서 기본적이고 탁월한 Validator인터페이스를 제공합니다.

데이터 바인딩은 사용자 입력이 응용 프로그램의 도메인 모델 (또는 사용자 입력을 처리하는 데 사용하는 개체)에 동적으로 바인딩되도록하는 데 유용합니다. Spring은 정확히 그렇게하기 위해 적절히 명명 된 DataBinder을 제공 한다. The ValidatorDataBinder 는 MVC 프레임 워크에 주로 사용되지만 이에 국한되지 않는 validation패키지 를 구성합니다.

The BeanWrapper는 Spring Framework의 기본 개념이며 많은 부에서 사용됩니다. 그러나 BeanWrapper 사용은 아마도 직접적으로 필요하지 않습니다. 이것은 참조 문서이므로 일부 설명이 순서대로 될 수 있다고 생각했습니다.

필요하진 않지만, 이 레퍼런스는 참조문서이므로 순서대로 설명을 해야겠기에 설명한다는 말인듯.

우리는이 장에서BeanWrapper을 설명 할 것이기 때문에, 만약 당신이 그것을 사용할 것이라면 당신은 데이터를 객체에 바인딩하려고 할 때 그렇게 할 가능성이 높습니다.

Spring DataBinder과 하위 레벨 BeanWrapper은 모두 PropertyEditorSupport구현을 사용 하여 속성 값을 구문 분석하고 형식을 지정합니다. PropertyEditorPropertyEditorSupport인터페이스는 자바빈 명세의 일부이며, 이 장에서 설명됩니다.

Spring 3은 일반적인 유형 변환 기능과 UI 필드 값의 형식을 지정하는 상위 "형식"패키지를 제공 하는 core.convert 패키지를 소개했습니다 . 이러한 패키지를 PropertyEditorSupport구현에 대한 간단한 대안으로 사용할 수 있습니다 . 또한이 장에서 설명합니다.

JSR-303 / JSR-349 빈 검증

버전 4.0부터 Spring Framework는 설정 지원과 Spring Validator인터페이스에 적용하기 위해 Bean Validation 1.0 (JSR-303)과 Bean Validation 1.1 (JSR-349)을 지원합니다 .

응용 프로그램은 Spring Validation에 설명 된대로 전역 적으로 Bean 유효성 검사를 활성화 하고 모든 유효성 검사 요구 사항에 대해 독점적 으로 사용하도록 선택할 수 있습니다 .

또한 응용 프로그램은 Configuring a DataBinder에서 설명한대로 각 DataBinder인스턴스 에 대해 추가 Spring Validator인스턴스를 등록 할 수 있습니다 . 이는 주석을 사용하지 않고 유효성 검사 로직을 연결하는 데 유용 할 수 있습니다.

Last updated