IOC (제어의 역전, Inversion Of Control)
객체의 생성과 관리 권한을 개발자가 아닌 Spring 컨테이너가 담당하는 것.
Spring에서는 컨테이너가 객체 생성, 주입, 소멸을 관리한다.
➜ 객체의 생성 및 생명주기 관리를 개발자가 직접 하는 것이 아니라 컨테이너가 담당한다.
객체 간의 결합도를 낮춰 유연한 코드가 될 수 있다.
DI (의존성 주입, Dependency injection)
Spring이 객체 간의 의존성을 자동으로 주입해주는 것.
한 객체가 다른 객체를 사용할 때, 해당 객체를 직접 생성하지 않고, Spring이 주입해주는 방식
➜ 구현 코드가 변경되어도 클라이언트의 코드에는 영향이없다. 다른 구현체를 구현하여 Bean으로 등록하면 자유롭게 변경이 가능하다.
✔ IOC / DI
IoC ➜ 객체의 제어권을 Spring 컨테이너에게 넘기는 개념, Spring이 객체 생성과 관리를 담당
DI ➜ Spring이 객체 간의 의존성을 자동으로 주입해주는 기법
의존관계 주입은 객체 간의 결합도를 낮추고, 코드의 유연성과 테스트 가능성을 높여준다.
'DevOps > Spring' 카테고리의 다른 글
| 검증(Validation) (0) | 2024.11.25 |
|---|---|
| Spring Bean 등록 (0) | 2024.11.25 |
| 싱글톤 패턴(Singleton Pattern) (0) | 2024.11.25 |
| Spring Container, Spring Bean (0) | 2024.11.25 |
| SOLID 원칙 (0) | 2024.11.25 |