일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JPQL
- Android
- 알고리즘
- SpringBoot
- 백준
- spring
- 스프링 핵심 기능
- jpa
- 그리디
- QueryDSL
- Spring Boot
- db
- springdatajpa
- AOP
- Proxy
- 스프링
- 김영한
- http
- 스프링 핵심 원리
- Thymeleaf
- JDBC
- kotlin
- transaction
- Greedy
- pointcut
- 자바
- Servlet
- 인프런
- Exception
- java
- Today
- Total
목록검증기 (2)
개발자되기 프로젝트
스프링이 Validator 인터페이스를 별도로 제공하는 이유는 체계적으로 검증 기능을 도입하기 위해서임. 그런데 앞에서는 검증기를 직접 불러서 사용했음. 그런데 Validator 인터페이스를 사용해서 검증기를 만들면 스프링의 추가적인 도움을 받을 수 있음. 1. WebDataBinder를 통해 사용 WebDataBinder 는 스프링의 파라미터 바인딩의 역할을 해주고, 검증 기능도 내부에 포함한다. 2. WebDataBinder 적용 2.1 Controller @InitBinder 적용, init() 해당 메서드에 WebDataBinder를 넘겨주고, WebDataBinder에 validator를 넣어준다. 이렇게 되면 Controller가 호출될 때마다 WebDataBinder를 생성한다. 이렇게 We..
1. Validator 현재 Controller가 너무 많은 역할을 가지고 있다. 검증 부분을 따로 분리하자 Spring은 검증을 체계적으로 제공하기 위해 Validator.interface 제공 public interface Validator { boolean supports(Class clazz); void validate(Object target, Errors errors); } supports() {} : 해당 검증기를 지원하는 여부 확인(뒤에서 설명) validate(Object target, Errors errors) : 검증 대상 객체와 BindingResult 2. ItemValidator supports() 넘어온 타입이 검증하기 위한 타입인지 판단. 구현시 return에 isAssign..