의존성 주입, 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능
첫번째 방법은 A객체가 B와 C객체를 New 생성자를 통해서 직접 생성하는 방법
두번째 방법은 외부에서 생성 된 객체를 setter()를 통해 사용하는 방법 (DI)
제어의 역전, 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부에서 결정됨
기존에는 다음과 같은 순서로 객체가 만들어지고 실행되었다.
1. 객체 생성
2. 의존성 객체 생성 : 클래스 내부에서 생성
3. 의존성 객체 메소드 호출
스프링에서는 다음과 같은 순서로 진행된다.
1. 객체 생성
2. 의존성 객체 주입 : 제어권을 스프링에게 위임, 스프링이 만든 객체를 주입
3. 의존성 객체 메소드 호출
TBC
출처 : https://velog.io/@bahar-j/Spring-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%A3%BC%EC%9E%85Dependency-Injection