보통 아주 쉬운 방법으로 개체를 사용할 때, 객체가 필요한 곳에 객체를 직접 생성한다.
public class A{
b = new B(); // 클래스 A에서 클래스 B의 객체를 생성
}
IoC는 외부에서 관리하는 객체를 가져와 사용하는 것
스프링은 스프링 컨테이너가 객체를 관리, 제공하는 역할을 한다.
public class A {
private B b; // 어디선가 생성한 객체를 b에 할당
}
어떤 클래스가 다른 클래스에 의존
IoC를 구현하기 위해 사용하는 방법
빈 : 스프링 컨테이너에서 관리하는 객체
@Autowired : 스프링 컨테이너의 빈을 주입하는 역할
public class A {
// A에서 B를 주입받음
@Autowired
B b;
}
스프링 컨테이너 : 빈을 생성하고 관리