일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- @configuration
- 코딩테스트
- DI
- objecterror
- 싱글톤
- ocp
- html form
- 테스트코드
- JSON
- 다형성
- 백준
- 코드트리
- 코드트리조별과제
- 추상클래스
- fielderror
- 스프링
- 프록시
- http 메시지 컨버터
- 의존관계
- HttpServletResponse
- java
- 스프링컨테이너
- 김영한
- 서블릿
- 오버라이딩
- 참조변수
- 티스토리챌린지
- equals()
- 인터페이스
- 오블완
- Today
- Total
목록TIL (147)
minOS
ch8-15 사용자 정의 예외 만들기- 개발자가 직접 예외 클래스를 정의할 수 있다.- 조상은 Exception과 RuntimeException중에서 선택public class CustomException extends Exception { // 1. 기본 생성자 public CustomException() { super(); } // 2. 메시지를 받는 생성자 public CustomException(String message) { super(message); }} ch8-17 예외 되던지기(Exception re-throwing)- 예외를 처리한 후에 다시 예외를 발생시키는 것- 호출한 메서드와 호출된 메서드 양쪽에서 처리하는..
Validator 분리1목표 :복잡한 검증 로직을 별도로 분리컨트롤러에서 검증 로직이 차지하는 부분은 매우 크다. 이런 경우 별도의 클래스로 역할을 분리하는 것이 좋다. 그리고 이렇게 분리한 검증 로직을 재사용할 수도 있다.스프링이 제공하는 Validator 인터페이스를 구현하려고 한다.public interface Validator { /** * Can this {@link Validator} {@link #validate(Object, Errors) validate} * instances of the supplied {@code clazz}? * This method is typically implemented like so: * return Foo.class.isAssignableFrom(c..
오류 코드와 메시지 처리1목표 :오류 메시지를 체계적으로 다루어보자.FieldError 생성자 두가지 public FieldError(String objectName, String field, String defaultMessage); public FieldError(String objectName, String field, @Nullable Object rejectedValue, boolean bindingFailure, @Nullable String[] codes, @Nullable Object[] arguments, @Nullable String defaultMessage) 파라미터 목록- objectName` : 오류가 발생한 객체 이름- field` : 오류 필드- rejectedValue` :..
ch8-11 메서드에 예외 선언하기- 예외를 처리하는 방법 : try-catch문 (직접 처리), 예외 선언하기(자신을 호출한 곳에 예외 처리 떠넘기기)- 메서드가 호출시 발생 가능한 예외를 호출하는 쪽에 알리는 것구조public void 메서드명() throws Exception1, Exception2, ..., ExceptionN { // 메서드 내용}예시public class SimpleExceptionExample { public static void divide(int a, int b) throws ArithmeticException { System.out.println(a + " / " + b + " = " + (a / b)); } public static v..
목표- 사용자 입력 오류 메시지가 화면에 남도록 하자. 예) 가격을 1000원 미만으로 설정시 입력한 값이 남아있어야 한다. `- 'FieldError' , 'ObjectError' 에 대해서 더 자세히 알아보자. 사용자 입력 오류 화면에 남기기@PostMapping("/add") //`BindingResult bindingResult` 파라미터의 위치는 `@ModelAttribute Item item` 다음에 와야 한다. public String addItemV2(@ModelAttribute Item item, BindingResult bindingResult ,RedirectAttributes redirectAttributes, Model model) { // bindReus..
스프링이 제공하는 검증 오류 처리 방법BindingResult스프링이 제공하는 검증 오류를 보관하는 객체이다. 검증 오류가 발생하면 여기에 보관하면 된다. `BindingResult` 가 있으면`@ModelAttribute` 에 데이터 바인딩 시 오류가 발생해도 컨트롤러가 호출된다 ex) @ModelAttribute에 바인딩 시 타입 오류가 발생하면?**`BindingResult` 가 없으면 400 오류가 발생하면서 컨트롤러가 호출되지 않고, 오류 페이지로 이동한다. `BindingResult` 가 있으면 오류 정보( `FieldError` )를 `BindingResult` 에 담아서 컨트롤러를 정상 호출한다. BindingResult에 검증 오류를 적용하는 3가지 방법- @ModelAttribute` ..