결국 크게

1. try catch로 내 로직 내에서 에러 핸들링 하는 케이스

2. throw해서 상위 클래스에서 캐치해주는 케이스

3. 전체 스프링 라이프 사이클에서 핸들링 안되는 애들은 -> 디폴트 에러 컨트롤러

 

아래 문서 참고하자

 

https://supawer0728.github.io/2019/04/04/spring-error-handling/

 

(Spring Boot)오류 처리에 대해

서론오류 처리는 어플리케이션 개발에 있어 매우 큰 부분을 차지한다.오류를 예측하는 것과 예방하는 것, 그리고 오류를 빨리 발견하고 고칠 수 있는 것은 훌륭한 개발자의 필수조건이라고 생

supawer0728.github.io

 

 

 

2번 케이스

 

advice annotation 을 이용해서 exception Handler 등록해서 처리하기

https://bamdule.tistory.com/92

 

[Spring Boot] @ControllerAdvice을 이용한 Exception 처리

오류 처리는 프로그램을 개발하는데 있어서 매우 큰 부분을 차지한다. 오류를 예측해서 비정상적인 상황이 발생하지 않게 하는 것은 정말 중요하다. 1. @ControllerAdvice 란? @Controller나 @RestController

bamdule.tistory.com

 

www.baeldung.com/spring-profiles

 

Spring Profiles | Baeldung

How to define and use Profiles in Spring. The 4 ways to enable profiles and their precedence. And a real-world example using profiles.

www.baeldung.com

프로파일 적용하는거

 

 

[@Bean, @Configuration ]

  • 개발자가 직접 제어가 불가능한 외부 라이브러리 또는 설정을 위한 클래스를 Bean으로 등록할 때 @Bean 어노테이션을 활용
  • 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 명시해 주어야 함

[ @Component ]

  • 개발자가 직접 개발한 클래스를 Bean으로 등록하고자 하는 경우 @Component 어노테이션을 활용

출처: https://mangkyu.tistory.com/75 [MangKyu's Diary]

'program > springboot' 카테고리의 다른 글

spring boot error handling  (0) 2021.05.18
스프링 프로파일 관리  (0) 2021.05.13
spring boot autowired null exception 케이스 시에 핸들링  (0) 2021.05.12

스프링 부트에서 autowired를 사용하고 있는데 종종 변수가 null 케이스여서 문제가 생기는 경우가 있다.

보통 라이프 사이클이 맞지 않아서 생성 전에 autowired 를 시도해서 생기는 케이스

 

보통 static 케이스에서 나더라.. 혹은 처음 생성자에서 변수 이니셜 할때 혹은  라이브러리 이것저것 임포트 했다가 꼬인 경우.

 

어노테이션으로 해서 디펜던시를 걸어서 특정 클래스 뒤에 생성을 하도록 하는 방법도 옛날엔 썼던것 같은데.

 

간단하게 생성자에서 해당 밸류를 생성자로 전달받게 하면 알아서 해당 빈이 먼저 생성되고 나서 순차적으로 생성된다.

이 경우 체인링 순환 생성 대기 케이스에 걸리지 않도록 조심할것.(그렇게 까지 무식하게 커다랗게 설계할꺼야?)

 

 

public  class TheOtherService{

 

@autowired

SomeService servce;

 

}

public class TheOtherService{

 

SomeService service;

 

public TheOtherService(SomeService service){

this.service = service;

}

 

}

 

 

 

'program > springboot' 카테고리의 다른 글

spring boot error handling  (0) 2021.05.18
스프링 프로파일 관리  (0) 2021.05.13
스프링부트 bean 싱글톤 관리 어노테이션  (0) 2021.05.13

+ Recent posts