Back-end/Spring boot

IOC, DI, ObjectMapper

메델 2022. 11. 13. 15:51

1. ObjectMapper

text-> object , object -> text의 경우 사용한다.

object mapper는 default 생성자를 필요로 하며 get method를 활용한다.

 

2. loC(Inversion of Control) : 제어의 역전

Java 객체를 new를 생성하여 개발자가 관리하는 것이 아니라 스프링에서는 Spring Container 또는 IoC Container에 모두 맡긴다.

제어의 역전: 객체의 관리를 컨테이너에 맡겨 제어권이 넘어간 것을 뜻함, 개발자 -> 프레임 워크로 제어의 객체 관리의 권한이 넘어감 

제어 역전을 통해서 의존성 주입( DI (Dependency Injection) ),  관점 지향 프로그래밍(AOP(Aspect-Oriented Programming))등이 가능해진다.

 

3. DI (Dependency Injection)  

 

장점

의존성으로 부터 격리시켜 코드 테스트에 용이

DI를 통하여, 불가능한 상황을 Mock와 같은 기술을 통하여 안정적으로 테스트 가능하다.

(여기서 Mock이란? 실제 객체를 만들기에는 시간과 비용이 많이 들거나 의존성이 크게 걸처져 있어 테스트를 

제대로 구현하기 어려울 경우 가짜 객체를 만들어서 사용하는 기술을 Mock이라고 한다.) 

추상화: 코드를 확장하거나 변경할 때 영향을 최소화한다.

순환참조를 막을 수 있다.

 

(참고: fastcampus 한 번에 끝내는 Java/Spring 웹 개발 마스터)

'Back-end > Spring boot' 카테고리의 다른 글

11월 4주차 공부정리  (0) 2022.11.27
웹 개발  (0) 2022.09.20
디자인 패턴  (0) 2022.09.17
객체지향  (0) 2022.09.15