본문 바로가기
프레임워크(Framework)/Spring Boot

[Spring Boot] 제어의 역전 (IoC), 의존성 주입 (DI)

by 송기동 2024. 2. 2.
728x90

제어의 역전 (Inversion Of Control)

- 개발자가 제어해야할 요소들을 Spring Framework 에서 대신 제어해준다는 의미

 

Spring IoC Container

- Spring Framework의 핵심 요소

- 객체를 생성하고 의존성을 구성하고 결합하며 생명 주기를 관리

- DI를 사용해 애플리케이션에서 구성하는 컴포넌트들을 관리

- xml파일, java코드, 어노테이션, java POJO 클래스를 통해 객체에 대한 정보를 가져옴

   → 이러한 객체들을 Bean 이라 부름

 

# POJO (Plain Old Java Object)

- 오래되고 간단한 자바 객체 라는 의미

# Bean

- Spring IoC Container 에서 관리하고 있는 인스턴스화 된 객체

- 어노테이션을 사용해 Bean 객체로 지정할 수 있다.


의존성 주입 (Dependency Injection)

- 객체를 직접 생성하는 것이 아니라 외부(컨테이너)에서 주입시켜주는 방식이다.

- IoC 대상으로 등록되어 있어야 DI 가능

- 코드의 재사용성, 유연성이 높아진다.

- 유지보수가 쉬우며 테스트가 용이해진다.

- 확장성을 가진다.

- DI를 설정해주는 어노테이션 : @Autowired

728x90