※ DI (Dependency Injection) 란?
- 의존성 주입이란 말로도 쓰이며 스프링 IOC 컨테이너 핵심 개념 중 하나이며 이미 다양한 프레임워크에 적용되어 있다.
- 객체 간의 의존 관계를 외부의 조립기가 관리
- 불필요한 의존 관계를 없애거나 줄일 수 있다.
- 단위테스트 수행이 수월하다.
- 설정파일과 어노테이션을 이용하여 객체간의 의존 관계를 설정
- 각 객체를 빈(bean)으로 관리
※ 그림으로 보는 DI 관계
- 의존성 주입 즉 객체를 생성하는게 아니라 객체를 외부에서 생성해서 주입시켜주는 방식
- 기존 객체생성법
- 특정 객체에서 A라는 객체와 B라는 객체를 직접 생성하고 있다
- 방법2) DI 방식의 객체생성법
- 외부에서 생성된 객체를 setter()나 생성자를 통해 사용하는 방법이다.
※ DI방법의 장점
- Main 객체에서 객체A, 객체B를 생성해서 사용해보았다고 생각해보자. 그러면 Main객체와 A,B의 의존성이 높아질 수
밖에 없다. 만약 Main 객체이건 객체A,B 이건 변경사항이 있다면 서로에게 영향을 줄 수 밖에 없다.
하지만 아래 그림처럼 미리 객체를 만들어 놓고 그 객체를 주입받아 사용한다면???
객체끼리의 불필요한 의존성을 없애거나 줄일 수 있게된다.
'플밍 is 뭔들 > SPRING' 카테고리의 다른 글
IntelliJ에서 Spring MVC 프로젝트 생성 및 세팅 (Maven) (0) | 2020.06.24 |
---|---|
[Spring Batch] 스프링 배치 Mybatis + ( Oracle + MsSql ) 다중 DB 연동 (0) | 2019.12.18 |
[SPRING] log4sql을 이용한 쿼리 로그 출력 (0) | 2017.07.05 |
[SPRING] 마리아(Maria)DB연동 및 Mybatis 설정하기 (0) | 2017.07.04 |
[SPRING & GIT] 이클립스 / 스프링 프로젝트 GitHub(깃허브)와 연동하기 (0) | 2017.06.24 |