일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 어른 상어
- 프로그래머스
- QueryDSL 기초
- 12869번
- python
- 9095번
- 보석 쇼핑
- 수식 최대화
- 키패드 누르기
- 14499번
- 2020 카카오 인턴십
- 베스트엘범
- 스타트 택시
- HTML 기초
- SW Expert Academy
- 19238번
- 17144번
- 미세먼지 안녕!
- 감소하는 수
- 1038번
- 빛의 경로 사이클
- 거울 설치
- SW ExpertAcademy
- 1789번
- 16234번
- 15686번
- 백준 알고리즘
- 경주로 건설
- 파이썬
- 12865번
Archives
- Today
- Total
보물창고 블로그
IOC란 무엇일까? 본문
728x90
IOC란 Inverse Of Control의 약자로서 제어의 역전이라고 합니다.
일반적인 의존성에 대한 제어권은 "내가 사용할 의존성은 내가 만든다."의 개념으로 동작합니다.
class HoseController{
private HoseRepository hose = new HoseRepository();
}
위 코드와 같이 HoseController 클래스에서는 클래스가 스스로 HoseRepository를 생성함으로써 멤버 변수인 hose에 대한 의존성을 직접 만듭니다.
하지만 스프링 프레임워크는 이러한 멤버변수에 대한 의존성을 IOC 컨테이너가 설정해줍니다.
IOC 컨테이너란 스프링 프레임워크에서 ApplicationContext(BeanFactory) 객체인데, 이 IOC 컨테이너에서 Bean을 만들고, 엮어주며 제공해줍니다.
class HoseController{
private final HoseRepository hose;
@Autowired
public HoseRepository(HoseRepository hoseRepository){
this.hose = hoseRepository;
}
}
위의 코드는 스프링 프레임워크에서 생성자를 통한 의존성 주입을 받는 대표적인 예입니다.
@Autowired 어노테이션을 통해 IOC 컨테이너는 HoseRepository 타입의 Bean 객체를 찾아와 HoseController에게 의존성을 주입해줍니다.
'웹 개발 > SpringBoot' 카테고리의 다른 글
Bean이란 무엇일까? (0) | 2022.04.24 |
---|---|
API 버전 관리 (0) | 2021.09.25 |
Comments