Spring 입문
IoC (Inversion Of Control) - 제어의 역전
public class Car{
private Engine engine = new Engine(); // Car는 Engine에 의존
public void start(){
engine.run(); // Engine 없으면 Car 못 씀
}
}
이 코드에서 보면 Engine의 기능을 사용하기 위해 개발자가 직접 new키워드를 사용하여 엔진을 생성했습니다.
하지만 스프링에서는 객체의 생성과 관리를 개발자가 하지 않고, 스프링에서 해주는 파트가 존재합니다.
즉, 개발자가 new 키워드로 객체를 생성하지 않아도 된다는 뜻입니다.
DI (Dependecy Injection) - 의존성 주입
DI는 IoC 개념을 실제로 구현하는 대표적인 방법

원래대로라면 new Engine()처럼 직접 객체를 생성해야했지만,
이제 스프링이 따로 객체를 생성해서 관리하고 있는 것을 우리가 원하는 곳에 가져와서 쓰면 됩니다
IoC (Inversion of Control) - 제어의 역전
원래는 개발자가 객체 생성을 제어해야하지만, 스프링이 대신 해주므로 제어의 역전
DI (Dependecy Injection) - 의존성 주입
스프링이 개발자 대신 생성한 객체를 관리하고 있는데, 그 객체(=의존성)를 가져와서 사용