Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

IoC와 DI 본문

Spring/Spring Boot

IoC와 DI

빌드이너프 2023. 12. 19. 14:33

제어의 역전 IoC

Inversion of Control

다른 객체를 직접 생성하거나 제어하는 것이 아니라 외부에서 관리하는 객체를 가져와 사용하는 것

객체를 관리하기 위해 IoC 사용

 

기존의 코드는 객체가 필요한 곳에서 직접 생성하였다

B 객체를 사용하기 위해 클래스 A에서 객체를 직접 생성

public class A {
    b = new B();
}

 

IoC 적용

B 객체를 직접 생성하는 것이 아니라, 어딘가에서 받아와 사용

public class A {
    private B b;
}

 

DI

Dependency Injection

IoC를 구현하기 위해 사용하는 방법이 DI

어떤 클래스가 다른 클래스에 의존한다는 뜻

 

@Autowired라는 애너테이션은 스프링 컨테이너에 있는 빈이라는 것을 주입하는 역할

빈은 스프링 컨테이너에서 관리하는 객체

어딘가에서 B b;라고 선언했을 뿐 직접 객체를 생성하지는 않고 있다, 즉 객체를 주입받고 있다

public class A {
    @Autowired
    B b;
}

 

잘동작하는 이유는 스프링 컨테이너라는 곳에서 객체를 주입했기 때문

스프링 컨테이너가 B 객체를 만들어 클래스 A에 준 것

'Spring > Spring Boot' 카테고리의 다른 글

자동 구성, 스프링 부트 3와 자바 버전  (0) 2023.12.19
스프링 부트 스타터  (0) 2023.12.19
AOP와 PSA  (0) 2023.12.19
스프링 컨테이너와 빈  (0) 2023.12.19
자바 백엔드 개발자가 알아두면 좋은 지식  (0) 2023.12.19