Taking baby-developer steps

스프링 콘셉트 - IoC, DI가 뭘까 본문

CS 지식/Web

스프링 콘셉트 - IoC, DI가 뭘까

Surin Lee 2023. 11. 16. 23:56

스프링에서 중요한 콘셉트로는 제어의 역전(IoC)의존성 주입(DI)이 있다.

IoC(Inversion of Control)

 스프링 컨테이너가 객체를 관리할 때, 외부에서 관리하는 객체를 가져와 사용하는 것을 말한다. 

DI(Dependency Injection)

 IoC를 구현하기 위해 사용하는 방법. 스프링 컨테이너에서 객체를 주입해서 사용한다.

 

일반적인 자바 코드는 클래스 내에서 어떤 객체를 쓰고 싶은 경우 직접 생성하지만, 스프링의 경우 스프링 컨테이너에서 객체를 주입받아 사용한다. 이것을 IoC/DI 개념이라고 하며 스프링의 핵심 개념이라고 할 만큼 중요하다.

스프링 컨테이너는 뭘까?

 빈을 생성하고 관리하는 주체. 빈이 생성되고 소멸하기까지의 생명주기를 관리한다.

빈은 뭔데?

 스프링 컨테이너가 생성하고 관리하는 객체. 빈을 스프링 컨테이너에 등록하려면 XML 파일 설정, 애너테이션 추가 등 여러 방법이 있다. 간단하게는 스프링에서 제공해주는 객체로 생각하면 된다.


느낀점

 스프링에서 제공하는 찰흙 덩어리인 빈이 존재한다. 스프링 프레임워크를 사용할 때는 객체 내부에서 다른 객체를 생성할 때 이 빈 이라는 기본 제공 찰흙을 가져다가 원하는 대로 빚어 만드는 것 같다. IoC가 이를 가리키며, DI는 이것을 가능하게 하는 구체적인 방법을 말하는 게 아닐까.


참고문헌 : 스프링부트3 백엔드 개발자 되기

 

Comments