spring5

· Spring
Bean Validation@Valid 애노테이션은 Bean Validation 스펙에 정의되어 있음@NotNull, @Digits, @Size 등의 애노테이션 정의해당 애노테이션을 사용하면 Validator 작성 없이 애노테이션만으로 커맨드 객체의 값 검증을 처리가능Bean Validation 2.0 버전을 JSR 380 이라고 부른다.JSR : Java Specification Request, 자바 스펙 기술 문서각 스펙마다 고유한 JSR 번호를 가지는데, Bean Validation 1.0 : JSR 303, 1.1 : JSR 349Bean Validation 제공 애노테이션을 이용하여 커맨드 객체 값 검증Bean Validation과 관련된 의존 설정 추가커맨드 객체에 @NotNull, @Digi..
· Spring
@InitBinder 애노테이션컨트롤러 범위 Validator 설정 가능package controller;import javax.validation.Valid;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.validation.Errors;import org.springframework.validation.annotation.Validated;import org.springframework.web.bind.WebDataBinder;import org.springframework.web.bind.annotation.GetMapping;import org.s..
· Spring
글로벌 Validator 설정과 @Valid 애노테이션글로벌 Validator 적용방법설정 클래스에서 WebMvcCOnfigurer의 getValidator() 메서드가 Validator 구현 객체를 리턴하도록 구현글로벌 범위 Validator가 검증할 커맨드 객체에 @Valid 애노테이션 적용package config;import org.springframework.context.MessageSource;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.support.ResourceBundleM..
· Spring
Errors에 에러 코드를 추가하면 JSP 는 스프링이 제공하는 form:errors> 태그를 사용해서 에에 해당하는 메시지를 출력 : : : : "> form:errors> 태그의 path 속성에러 메시지를 출력할 프로퍼티 이름을 지정에러 코드에 해당하는 메시지 코드를 찾을 때의 규칙1) 에러코드 + . + 커맨드객체이름 + "." + 필드명2) 에러코드 + . + 필드명3) 에러코드 + . + 필드타입..
· Spring
Error 인터페이스가 제공하는 에러 코드 추가 메서드reject(String errorCode);reject(String errorCode, String defaultMessage);reject(String errorCode, Object[] errorArgs, String defaultMessage);rejectValue(String field, String errorCode);rejectValue(String field, String errorCode, String defaultMessage);rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage);에러 코드에 해당하는 메시지가 {0} 이나 {1} 과..
· Spring
커맨드 객체의 값 검증의 중요성폼에 입력한 값을 검증하지 안흥면 잘못된 값이 시스템에 입력되어 어플리케이션이 비정상 동작할 수 있음에러 메시지를 제대로 보여주지 않으면 사용자는 서비스를 제대로 이용할 수 없음스프링이 제공하는 해결 방법커맨드 객체를 검증하고 결과를 에러 코드로 저장JSP에서 에러 코드로부터 메시지를 출력커맨드 객체 검증과 에러 코드 지정하기스프링 MVC에서 커맨드 객체의 값이 올바른지 검사하기 위해 사용하는 인터페이스org.springframework.validationValidatorErrors객체를 검증할 때 사용하는 Validator 인터페이스package org.springframework.validation;public interface Validator { boolean ..
· Spring
스프링 메시지 태그에서 인자를 처리하는 방법에 대해 알아보겠습니다.spring:message> 태그의 메시지 인자 처리properties 파일register.done={0}님, 회원 가입을 완료했습니다.{0} : 프로퍼티 값 부분인덱스 기반 변수 중 0번 인덱스(첫 번째 인덱스)의 값으로 대치되는 부분 표시MessageSource의 getMessage()는 인덱스 기반 변수를 Object 배열 타입의 파라미터를 사용String getMessage(String code, Object[] args, String defaultMessage, Locale loacle);String getMessage(String code, Object[] args, Locale locale);get..
· Spring
처음 스프링 MVC를 이용해서 웹 개발을 하다 보면 사소한 설정 오류나 오타로 고생합니다. 이번 시간에는 입문 과정에서 겪게 되는 에러 사례를 정리해 보았습니다. 요청 매핑 애노테이션과 관련된 주요 익셉션 흔한 에러는 404 에러입니다. 요청 경로를 처리할 컨트롤러가 존재하지 않거나 WebMvcConfigurer를 이용한 설정이 없다면 404 에러가 발생합니다. 404 에러가 발생하면 - 요청 경로가 올바른지 - 컨트롤러에 설정한 경로가 올바른지 - 컨트롤러 클래스를 빈으로 등록했는지 - 컨트롤러 클래스에 @Controller 애노테이션을 적용했는지 뷰 이름에 해당하는 JSP파일이 존재하지 않아도 404에러가 발생합니다. 차이점으로 메시지에 해당 뷰가 없다고 표시됩니다. 위 그림과 같은 에러가 발생한다면..
· Spring
디폴트 핸들러와 HandlerMapping의 우선순위 dispatcher org.springframework.web.servlet.DispatcherServlet contextClass org.springframework.web.context.support.AnnotationConfigWebApplicationContext contextConfigLocation config.MvcConfig config.ControllerConfig 1 dispatcher / 위 web.xml 설정을 보시면 DispatcherServlet에 대한 매핑 경로를 다음과 같이 '/'로 주어져있습니다. 매핑 경로가 '/'인 경우 .jsp로 끝나는 요청을 제외한 모든 요청을 DispatcherServlet이 처리합니다. 즉 /i..
· Spring
JSP를 위한 ViewResolver 컨트롤러 처리 결과를 JSP를 이용해서 생성하기 위해 다음과 같은 설정을 사용해야 합니다. package config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ViewResolverRegistry; import or..
runnnerDevHong
'spring5' 태그의 글 목록