티스토리 뷰
Development/Technical Interview
[면접 준비 - Spring]DI(의존관계 주입)의 특징과 장점
Vagabund.Gni 2022. 12. 13. 15:50728x90
반응형
DI(의존관계 주입)는 특정 객체가 의존할 객체나 메서드를(즉, 의존관계를) 해당 객체 외부에서,
정확하게는 스프링 컨테이너에서 주입받는 디자인 패턴이다.
여기서 A가 B에게 의존한다는 말은 B의 구성이나 로직이 변하면 A에게 영향을 끼칠 가능성이 있는 관계라는 뜻이다.
이어서 주입이란 의존성을 사용하려는 객체에게 전달하는 것이라 받아들이면 되며,
디자인 패턴이란 공통적인 문제에 대한 재활용 가능한 솔루션이라 생각하면 된다.
또한 스프링 컨테이너란 객체의 생명주기를 관리하는 모듈이며, 스프링 컨테이너가 관리하는 객체를 빈(Bean)이라 부른다.
이는 스프링의 핵심 원칙인 IoC를 구현하는 수단이기도 하며,
객체의 설계와 사용이라는 관심사를 분리해 느슨한 결합으로 의존도를 낮추는 것이 그 목적이다.
구체적으로는 자신의 내부에 의존하는 객체의 인스턴스를 생성하고 메서드를 호출하는 컴파일 타임 의존성에서
외부의 컨테이너에 의해 생성자, 메서드, 세터, 필드 등으로 주입되는 런타임 의존성으로의 변경을 말한다.
장점으로는 의존도가 낮아 수정 및 유지보수가 쉽다는 점, 코드 가독성과 재사용성을 높여준다는 점,
그리고 Mocking 객체를 이용한 단위 테스트 시에 편의성을 제공한다는 점 등이 있다.
*단위 테스트시 Mocking Object를 원하는 클래스에 @Mock 추가 및 주입하고자 하는 클래스에 @InjectMock 설정
반응형
'Development > Technical Interview' 카테고리의 다른 글
[면접 준비 - Spring]DTO에 관하여 (0) | 2022.12.13 |
---|---|
[면접 준비 - Spring]ResponseEntity에 대하여 (0) | 2022.12.13 |
[면접 준비 - Spring]Spring MVC의 REST API 엔드포인트 (1) | 2022.12.13 |
[면접 준비 - Cloud]CI/CD 그리고 배포 자동화의 개념과 차이점 (0) | 2022.12.13 |
[면접 준비 - Java+Spring]자바와 스프링을 사용하는 이유 (4) | 2022.12.13 |
[면접 준비 - Java]Java 8 vs. Java 11 (8) | 2022.12.12 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 칼이사
- 기술면접
- Algorithm
- java
- 남미
- Backjoon
- a6000
- 야경
- 리스트
- 알고리즘
- 유럽여행
- 유럽
- 여행
- 지지
- Python
- 맛집
- 백준
- 세계일주
- RX100M5
- 중남미
- 동적계획법
- 스트림
- 면접 준비
- 자바
- spring
- BOJ
- 스프링
- 파이썬
- 세계여행
- 세모
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함