22.06.15
- Spring Validation 으로 이메일 중복 검사를 하는 중, Validation 클래스에서 Mapper 인터페이스를 인식을 못해서 계속 NullPointException이 떳다.
- 이리저리 시도 해 본 결과 Validation이 Spring Bean을 인식을 못하는 것!!
- 클래스에 component를 어노테이션해주면서 Spring Bean을 인식시켜 주면 해결!!!!
package com.hoon.validation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import com.hoon.mapper.MemberMapper;
import com.hoon.model.Member;
@Component
public class MemberValidator implements Validator {
@Autowired
MemberMapper mapper;
@Override
public boolean supports(Class<?> clazz) {
return Member.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
//다운캐스팅! object가 상위!
Member member = (Member) target;
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName", "required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "email", "required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "required");
System.out.println(mapper);
System.out.println(member.getEmail());
if(mapper.findByEmail(member.getEmail()) != null) {
errors.rejectValue("email", "checkEmail");
return;
}
}
}
- 위 코드처럼 클래스에 @Component 한줄만 추가했는데 깔끔하게 해결!
- null이 터질때는 println으로 콘솔에서 데이터가 붙러와 지는 지 우선 확인 하고! 불러 와지는 경우에는
화면단으로 이동할 때 문제가 있는지를 체크 하고, 콘솔 창에도 데이터를 불러오지 못한다면 연결 과정을
체크하는 순서로 오류를 해결해나가면 된다!
- 까르끔하게 해결! 이미 존재하는 이메일이라고 자알~ 뜬다!
9) JS 모듈화 할때 JSP 값 불러오기 에러(Maximum call stack size exceeded 해결) (0) | 2022.07.26 |
---|---|
8) Eclipse에서 Java Script가 흑백으로 보일 때 (0) | 2022.06.21 |
6) xml 자동완성 안됨 문제 해결 (0) | 2022.05.25 |
5) JSTL 반복문(ForEach)안에서 변수로 합계 계산 (0) | 2022.05.20 |
4) 응답이 이미 커밋된 후에는 forward할 수 없습니다 (1) | 2022.05.18 |
댓글 영역