스프링 IoC ( Inversion Of Control) : 제어의 역전
제어의 역전 ?
보통은 개발자가 원하는 객체를 생성하고 제어하는 스타일로 개발을 하는데 , 개발자가 호출하는것이 아니라 프레임워크 같은것이 호출해주는것 .
기존 프로그램은 클라이언트의 구현객체가 스스로 필요한 구현객체를 생성하고 사용하는 구조였다.
한마디로 구현객체가 프로그램의 제어흐름을 조절했다.
제어의 역전이 사용된 경우
AppConfig가 등장후 구현객체는 자신의 로직을 실행하는 역활만 가지고 있다. 프로그램 제어흐름을 AppConfig가 가져가게 된다.
스프링 IoC ?
스프링은 스프링 프레임워크에서 위의 제어의 역전을 관리해준다.
@Bean 어노테이션으로 빈을 등록해주면 스프링 컨테이너에 해당 빈이 등록되게 된다. 기본적으로 메소드이름으로 빈이 등록됨.
위의 코드에서 AnnotationConfigAppApplicationContext 객체를 생성하여 AppConfig class를 설정파일로 하였더니 AppConfig에 있는 Bean들이 컨테이너에 등록되었다.
스프링 DI (Dependency Injection) : 의존관계 주입
'공부 > Spring' 카테고리의 다른 글
[QueryDSL] QueuryDSL vs JPQL (0) | 2023.12.18 |
---|---|
[스프링] AuditorAware (1) | 2023.11.22 |
[스프링]Spring Security - SecurityFilterChain (0) | 2023.11.22 |
[Spring] ControllerAdvice (0) | 2022.09.27 |
BeanFatory와 ApplicationContext (0) | 2022.03.06 |