[Spring] IoC(Inversion of Control 제어의 역전), DI(Dependency Injection 의존성 주입), 의존성 주입 3가지 방법
IoC(Inversion of Control, 제어의 역전)객체 생성 및 의존성 주입 등의 제어를 개발자가 아닌 프레임워크가 담당하도록 하는 설계 원칙이다.사용할 객체를 직접 생성하지 않고, 객체 생명주기 관리를 외부에 위임한다.이는 애플리케이션의 구조를 더 유연하고 테스트 가능하게 만든다.즉, IoC의 핵심 개념은 애플리케이션의 제어 흐름을 프레임워크가 관리한다는 것이다.이를 통해 객체 간 결합도를 낮추고, 코드의 재사용성과 유연성을 높인다. 스프링에서의 IoC스프링에서는 스프링 컨테이너가 오브젝트인 빈(Bean)의 생성, 의존 관계 설정 등의 작업을 스프링 컨테이너가 수행한다.스프링에서 IoC, 제어의 역전은 코드 대신 객체에 대한 제어권을 스프링 컨테이너에 넘겨 스프링 컨테이너가 흐름을 제어하게 된..