Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ai
- Scanner
- redis
- Docker
- HTTP
- 조건문
- graphql
- 스프링부트
- 자바
- mongodb
- java11
- restapi
- eof
- Apollo
- Mongoose
- 백준알고리즘
- MapReduce
- LangChain
- java
- nodejs
- k8s
- Android
- 서버
- puppeteer
- Spring
- TCP
- 프로그래머스
- bufferdreader
- 스프링
- mysql
Archives
- Today
- Total
자라나라 개발머리
[Spring/스프링 핵심 원리] IOC, DI, 컨테이너 본문
* 인프런 '스프링 핵심 원리' 강좌 복습 게시글 입니다.
IOC (Inversion of control: 제어의 역전)
AppConfig 사용 전: 제어 흐름이 구현 객체에서 드러남
AppConfig 사용 후: AppConfig가 제어 흐름을 담당함 ( 구현 객체는 로직 실행만 담당하게 됨)
같은 맥락으로, 프레임워크와 라이브러리의 차이도 제어의 주체가 개발자냐 프로그램이냐임.
프레임워크 사용시 제어의 역전이 일어남.
DI (Dependency Ingection: 의존 관계 주입)
의존 관계의 종류
1. 정적인 의존 관게: 어플케이션을 실행하지 않아도 알 수 있는 의존 관계
2. 동적인 의존 관계(동적인 객체 인스턴스 의존 관계): 실제 동작 시 사용되는 객체의 의존 관계
의존 관계 주입은, 실행 시 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달해서 클라이언트와 서버의 실제 의존 관계가 연결되는 것을 말한다.
의존 관계 주입의 장점
1. 클라이언트 코드를 변경하지 않고 호출하는 대상의 타입 인스턴스 변경 가능
2. 정적인 의존관계 변화없이 동적인 객체 인스턴스 의존관계 변경 가능
컨테이너
AppConfig의 역할을 해주는 것을 IOC 컨테이너 또는 DI 컨테이너라고 한다.
컨테이너의 역할
1. 객체 생성 및 관리
2. 의존 관계 연결 (의존 관계 주입)
요점: 스프링 프레임워크가 컨테이너의 역할을 한다.
'프레임워크 > Spring' 카테고리의 다른 글
[Spring/스프링 핵심 원리] BeanDefinition(빈 설정 메타정보) (0) | 2023.01.08 |
---|---|
[Spring/스프링 핵심 원리] 스프링 컨테이너(BeanFactory, ApplicationContext) (0) | 2023.01.07 |
[Spring/스프링 핵심 원리] 객체 지향 설계와 스프링,SOLID (0) | 2023.01.02 |
[Spring/스프링 입문] 스프링 프로젝트 초간단 개요 (정리) (0) | 2023.01.02 |
[Spring/스프링 입문] AOP (0) | 2023.01.02 |