컴포넌트 스캔
본 프로젝트에 선언된 각종 컴포넌트를 읽는다
-레퍼지토리
-컨트롤러
-일반 컴포넌터?
이러한 형태를 클래스에 선언된 인스턴스를 읽어와서 스프링 컨테이너 메모리에 읽어와서 애플리케이션에 사용될 수 있는 빈형태로 읽히게 된다.
스프링 컨테이너에서 인스턴스가 생성되고 관리되는 형태 = > IOC
Inversion of control = 제어의 역전
메소드나 객체의 호출작업을 개발자가 결정하는 것이 아닌 외부에서 결정되는 것.
Dependency Injection = 의존성 주입
IOC가 일어날 때 스프링 내부에 있는 객체들간의 관계를 관리할 때 사용하는 기법이다.
의존적인 객체를 직접 생성하는것이 아닌 특정객체에 필요한 객체를외부에서 결정해서 연결 시키는 것.
추상적으로 묶어둔 인터페이스를 갖다 쓰면 되는 것.
의존성주입으로 인한 모듈 간의 결합도가 낮아지고 유연성이 높아진다.