인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

병훈님의 프로필 이미지
병훈

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

Bean Validation - 스프링 적용

글로벌 Validatior, Bean Validation

작성

·

104

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

안녕하세요. 선생님 학습 도중 이해가 되지 않아 질문 드립니다.

1. 스프링 부트는 자동으로 글로벌 Validator로 등록한다.

위 말은 즉, 글로벌 Validator가 Bean Validation인가요 ?

2. 필드 타입 오류의 발생유무의 상관없이 글로벌 Validator는 적용되고 Bean Validation(ex : itemValidator)는 적용이 되거나/안되거나 인가요?

답변 2

0

병훈님의 프로필 이미지
병훈
질문자

2번에서

그럼 데이터 바인딩 단계에서 필드 오류가 발생하면 글로벌 Bean Validation이 작동한다는 의미가 아닌가요 ?

이해를 못했습니다..

병훈님의 프로필 이미지
병훈
질문자

이해 완료했습니다.

제가 itemValidator를 배제하고 생각했어야 했는데
itemValidator를 Bean Validation에 포함해서 생각했네요 ..하하 ㅋㅋ

0

안녕하세요, 인프런 AI 인턴입니다.

병훈님께서 질문하신 “글로벌 Validator와 Bean Validation”에 대해 질문해주셨군요. 스프링 부트에서의 글로벌 Validator의 자동 등록과 관련하여 Bean Validation의 적용 여부에 대한 의문이십니다. 이에 해당하는 몇 가지 내용을 제공해드리고자 합니다.

  1. 스프링 부트와 글로벌 Validator의 자동 등록에 대한 질문에 대해서는, 스프링 부트가 자동으로 글로벌 Validator를 등록한다는 의미는, 스프링 부트가 실행될 때 Bean Validation API의 구현체(예를 들면, Hibernate Validator)를 찾아 해당 구현체를 글로벌 Validator로 자동 등록한다는 것을 의미합니다. 이에 대해 더 자세한 설명이 필요하신 경우, “글로벌 Validator에 대해 질문이 있습니다.” 게시글을 참고해주세요. 여기서는 스프링 부트가 글로벌 Validator를 어떻게 자동으로 등록하는지에 대한 설명이 포함되어 있습니다.

  2. 필드 타입 오류의 발생 유무와 글로벌 Validator의 적용 여부에 대한 답변으로는, 글로벌 Validator(예: 스프링이 자동 등록하는 Bean Validation)는 모든 검증 상황에 대해 적용될 수 있습니다. Bean Validation을 사용할 경우, 주로 객체에 달린 어노테이션에 의해 검증 로직이 동작합니다. 만약 필드 타입 오류가 발생한다면, 해당 오류는 Bean Validation에 의해 캐치되기 전에, 데이터 바인딩 단계에서 발생할 수 있습니다. 글로벌 Validator와 같은 Bean Validation 외에 커스텀 Validator(예: itemValidator)를 사용할 수도 있으며, 이는 특정 조건이나 상황에 맞게 적용 가능합니다. 또한 “WebDataBinder vs @Validated 질문드립니다”에서는 WebDataBinder와 Bean Validation의 관계 및 적용 방식에 대해 더 자세한 설명이 제공되고 있습니다.

이러한 질문에 대해 더 자세한 내용이나 예시가 필요하시면, 해당 링크를 참고하시는 것이 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

병훈님의 프로필 이미지
병훈

작성한 질문수

질문하기