1. 요약 답변✅
- KEY WORD:
제어권의 역전
DI
,Spring에서의 IoC 동작 과정
,Spring에서 DI 3가지 방법과 특징
,Bean 등록 3가지 방법과 특징
IoC란, '객체 생성과 관리 통제권을 개발자에서 프레임워크로 넘겨준다.' 라는 설계 원칙입니다.
장점은 결합도를 낮추어 유지 보수성과 코드 재사용성을 높이고, 테스트에 용이하게 해준다는 점 입니다.
Spring에서는 Spring IoC 컨테이너를 활용하여 이 원칙을 구현합니다. 구현 과정은 다음과 같습니다.
- 개발자가 작성한 pom.xml 혹은 어노테이션 기반, 자바 코드 기반의 bean 등록 명세서를 SpringIoC 컨테이너가 읽습니다.
- 읽은 내용을 토대로 Spring Ioc 컨테이너 내부에 bean 객체를 생성 후 등록 합니다.
- Business 객체 중 등록된 bean을 필요로 하는 객체에 의존성 주입 (DI)를 합니다.
2. 상세 설명 📚
3. 꼬리 질문 💡
(1) IoC와 DIP의 차이점을 설명해주세요.
둘은 아예 다른 말 입니다.
IoC는 제어의 역전으로 프레임워크가 객체의 생성과 관리를 책임지도록 제어권을 넘기는 원칙입니다.
DIP는 의존성 역전의 원칙으로 모듈 간의 의존성 방향을 역전하는 원칙입니다.
4. 부록
A. 모르는 단어 정리
순환 참조
: 두 Bean이 서로를 의존성 주입받아서 객체를 생성하려 할 때, 서로가 서로를 참조하여 둘 중 어느것도 객체 생성이 불가능한 상태
B. 참고 문서
- Java Guide - Spring Ioc container Overview
- @SpringBootApplication과 AutoConfiguration 들여다보기
- Tecoble Spring Boot AutoConfiguration을 대하는 자세
C. 관련 글
0