Spring Boot API 5

Exception

스프링 부트의 예외 처리 방식 스프링 부트의 예외 처리 방식은 2가지가 존재합니다 @ControllerAdvice를 통한 모든 Controller에서 발생할 수 있는 예외처리 @ExceptionHandler를 통한 특정 Controller의 예외처리 ❗쉽게 생각하자면 @ControllerAdvice 로 모든 컨트롤러에서 발생할 예외를 정의하고 , @ExceptionHandler를 통해 발생하는 예외 마다 처리할 메서드를 정의한다고 생각하자 @ControllerAdvice , @RestControllerAdvice @ControllerAdvice는 Spring에서 제공하는 어노테이션 @Controller나 @RestController 에서 발생하는 예외를 한 곳에서 관리하고 처리할 수 있게 하는 어노테이션..

Spring Boot API 2022.08.16

문제야 어디 있니~? LogBack

코드를 실행시키고 테스트를 진행하고 하다 보면 간혹 이게 어디서.. 왜.... 나는 에러지...? 왜 실행이 안 되는 거지?? 하는 경우가 종종 생기는데 이럴 때 바로!! 사용해야 할 것이 로그이다 기존에는 Log4j2를 사용했었는데 최근 LogBack도 알게 되어 살짝궁 정리해본다 LogBack 이란?? Log4J를 기반으로 개발된 로깅(Logging)라이브러리 Log4j에 비해 약 10배 정도 빠른 퍼포먼스 , 메모리 효율성 증대 *출시 순서 : log4 j → logback →log4 j2 Logback 특징 로그에 특정 레벨을 설정할 수 있음 (Trace → Debug → Info → Warn → Error) Trace 가 가장 가벼운 로그 뒤로 갈수록 중요도가 높아짐 실 운영과 테스트 상황에서 ..

Spring Boot API 2022.08.10

@Valid 의 종류 알아보기

✌[ 다양한 제약조건 어노테이션 ] 어노테이션 조건 Int Type 불가 @Size 해당 값이 주어진 값 사이에 해당하는지 검증함(String, Collection, Map, Array에도 적용 가능) @NotNull 해당 값이 null이 아닌지 검증 @NotEmapty 해당 값이 null이 아니고 , 빈 스트링(””)아닌지 검증 (” “은 가능함) @NotBlank 해당 값이 null이 아니고 , 공백(””과 “ “ 모두 포함)이 아닌지 검증 @Past 과거 날짜 @PastOnPresent 오늘이거나 과거 날짜 @Future 미래 날짜 @FutureOnPresent 오늘이거나 미래 날짜 @Pattern 해당 값이 주어진 패턴과 일치하는지 검증함 @Max 최대값 @Min 최소값 @AssertTrue/Fa..

Spring Boot API 2022.08.10

@SpringBootApplication 이 정상적으로 기능하지 못한 이유

🤯문제의 시작 Boot를 차근차근 공부하기 위해 새롭게 프로젝트를 만들고 진행하면서 간단하게 "Hello World" 띄워보려 하는데 페이지가 안 뜨는 일이 생겼다... 로그를 찍어보니 controller을 찾지 못하고 있는 거 같아 강제로 ConponentScan을 걸어주어서 해결했는데 왜 이런 일이 생긴 걸까..? 😱@SpringBootApplication 이 정상적으로 기능하지 못한 이유 ❗Package 구조를 보아야 한다. 시작점인 메인클래스가 위치한 패키지의 하위에 있는 클래스들을 검색하여 Bean으로 등록하기에 하위 패키지에 속하지 않는다면 스프링 컨테이너는 해당 클래스를 Bean으로 등록하지 않게 된다. Spring에서는 @Controller 혹은 @RestController을 설정해도 XM..

Spring Boot API 2022.08.09

우선 널 알아야겠구나...! 컴포넌트 스캔 (Component Scan)과 Auto Configuration

부트캠프 과정을 마치고 생각보다 빠르게 취업에 성공해서 기뻐한 것도 잠시... 게시판만 만들던 저에게 크나큰 시련이 찾아왔습니다. 바로 API설계..... 물론 만들어 본적은 있지만 짧은 기간에 많은 것을 배우다 보니 정확하게 이해하지 못하고 넘어간 부분이 많아 환경이 변하니 어떤 거부터 만들어야 할지... 막막해 다시 차근차근 공부해보려 합니다. API 설계를 하려하니 우선 Spring Boot의 Auto Configuration에 대한 이해가 조금은 있어야 한다는 생각이 들었습니다. 이유는... 코드를 짜던중 컴포넌트로 인식을 못하는 상황이 생겼기 때문이죠... 그래서 준비한 이야기!! 지금부터 시작합니다. 컴포넌트 스캔 (Component Scan) 과 Auto Configuration 컴포넌트 스..

Spring Boot API 2022.08.09