본문 바로가기
카테고리 없음

(취업스터디 2일차) DI 와 Spring MVC

by hbIncoding 2023. 5. 9.

1. DI(Dependency Injection)에 대한 설명과 장점

 1) 설명 : 외부에서 두 객체간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게  해준다.

 2) 장점

  1. 재사용성을 높여준다
  2. 테스트에 용이하다
  3. 코드를 단순화 시켜준다
  4. 종속적이던 코드의 수를 줄여준다
  5. 코드를 파악하기 쉬워 진다
  6. 결합도를 낮추면서 유연성과 확작성을 향상시킬 수 있다.
  7. 객체간의 의존관계를 설정하고 없애고나 줄일 수 있다.

 

2. Spring MVC에서 예외 처리 기법

 1)@ExceptionHandler를 이용한 예외 처리

  • @Controller나 @RestContoller가 적용된 Bean내에서 발생하는 예외를 잡아서 하나의 메서드에서 처리해 주는 기능
  • @Service 같은 bean에서는 안됨
  • 리턴 타입을 자유롭게 해도 된다.
  • 메서드의 파라미터로 Exception을 받았지만 이것 또한 자유롭게 받아올 수 있다.

 2)ControllerAdvice

  • 모든 @Controller 즉, 전역에서 발생하는 예외를 잡아 처리해준다.
  • 별도의 속성값이 없어 사용하면 모든 패키지 전역에 있는 컨트롤러를 담당
  • @ControllerAdvice 와 @RestControllerAdvice 가 있다. @ResponseBody의 필요 여부에 따라 적용하면 되고, @RestContoller와 @Controller 어디서 예외가 발생하든 모두 다 캐치 가능하다.