개발/개념 설명
(Spring) DI 개념
kakk789
2022. 6. 26. 22:40
DI 개념 (객체에 대한 이야기)
DI는 객체에 대한 이야기
- 자바로 만들어진 소프트웨어는 수많은 클래스로 구성되고, 클래스와 클래스는 서로 관계에있음 has a or is a 관계이다.
- 두 클래스의 관계가 '클래스 vs 클래스'이면서 new에 의해 객체를 생성하는 건 '강한 의존관계에 있다' 라고 표현
- '강한 의존관계'를 '약간 의존관계'로 만드는게 DI의 개념이다.(의존관계에 대한 객체 주입을 Spring이 알아서 해줌)
어떤식으로 Spring이 해주냐면 New로 객체를 생성하는 것이 아닌 별도의 환경설정 파일에서 객체를 제공해준다 - 스프링 초기에는 XML로 환경설정을 하였지만 XML이 너무 비대해져서 그래서 어노테이션 기반으로 객체를 생성하는 개념이 나왔으나 이것 또한 불편해서 자동으로 의존관계 설정하는 개념이 등장
발전 변천사
XML로 객체 생성 -> 어노테이션 기반 생성 -> 현재는 오토스캔하여 완전 자동 생성으로 발전
반응형