🔗 이 글은 인프런의 스프링부트 개념정리 강의의 내용을 참고하여 정리한 글입니다.
이 강의는 스프링부트의 핵심 개념을 정리할 수 있는 강의로, 오늘 공부한 내용은 Spring의 핵심이다.
지금부터 스프링의 핵심을 하나씩 자세히 알아보도록 하자!
📌 참고 | 프레임워크 vs 라이브러리
- 프레임워크는 전체적인 흐름을 스스로 가지고 있으며, 개발자가 그 안에 필요한 코드를 작성한다.
- 라이브러리는 개발자가 흐름에 대해 제어하며 필요한 상황에 가져다가 쓰는 것이다.
오픈 소스란 공개적으로 접근이 가능하기 때문에 사람들이 수정하고 공유할 수 있는 것을 말한다.
IoC(Inversion of Control)란 제어의 역전이라는 뜻으로, 프로그램의 제어 흐름을 외부에서 관리하는 것을 말한다.
DI(Dependency Injection)란 의존성 주입이라는 뜻으로, 객체 간의 의존성을 외부에서 주입하는 것을 말한다.

new 생성자를 통해서 직접 생성하는 방법이다.setter()나 생성자를 통해서 사용하는 방법이다. 이 방법이 바로 의존성 주입의 예시이다.의존성 주입을 사용하면,
📌 IoC 컨테이너, DI 컨테이너
AppConfig처럼 객체를 생성하고 관리하면서 의존관계를 연결해주는 것을IoC 컨테이너또는DI 컨테이너라고 한다.- 의존관계 주입에 초점을 맞추어 최근에는 주로 DI 컨테이너라고 한다.
- 어셈블러, 오브젝트 팩토리 등으로 불리기도 한다.
📌 IoC와 DI의 관계
DI는 IoC를 구현하는 방법 중 하나이다.
인프런 - 스프링부트 개념 정리 강의
오픈 소스 - https://opensource.com/resources/what-open-source
IoC, DI - https://gangnam-americano.tistory.com/60
IoC, DI - https://private.tistory.com/39?category=655784