🔗 이 글은 인프런의 스프링부트 개념정리 강의의 내용을 참고하여 정리한 글입니다.
이 강의는 스프링부트의 핵심 개념을 정리할 수 있는 강의로, 오늘 공부한 내용은 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